» El segundo color predominante: PIL
Hace unas semanas necesité hacer un script en Python que genere algunas decenas de imágenes. Básicamente, se tiene como entrada imágenes como estas:

(un borde con alguna forma y un color en un fondo blanco)
Las imágenes generadas tienen que tener ciertos números en el centro, pintados en cada caso del mismo color que el borde:
La primer parte del script tiene que determinar el segundo color predominante de la imagen (el primero es el blanco), esta es la forma en que lo hice usando PIL:
def get_color(image):
colors = image.getcolors() # colors is a list of (count, color)
colors.sort(lambda y,x: cmp(x[0], y[0])) # bigger count first
c = colors.pop(0)
while white(c): # find the non-white color most used in the image
c = colors.pop(0)
return c[1]
def white(color):
color = color[1]
return color[0] == 255 and color[1] == 255 and color[2] == 255









