El segundo color predominante: PIL

Este post fue migrado de un blog hecho con Wordpress. Si se ve mal, dejame un comentario y lo arreglo.

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</pre></body></html>

Comentarios

Comments powered by Disqus