Según las sugerencias aquí @ SO, he catalogado el color promedio para un conjunto de imágenes de stock.
r, g, b = image.convert ("RGB"). Cambiar el tamaño de ((1,1), Image.ANTIALIAS) .getpixel ((0,0))Buscar imágenes de color similar
Ahora, me gustaría presentar una rueda de color para el usuario y ejecutar una búsqueda en mi catálogo para encontrar las imágenes que coinciden más con el color seleccionado.
He leído varias preguntas publicadas aquí que recomiendan "encontrar la distancia entre dos colores", y hacen referencia al libro de Flickr Hacks.
El algoritmo de distancia Flickr Hack parece ser básicamente:
diffr = checkImage.r - search_r
diffg = checkImage.g - search_g
diffb = checkImage.b - search_b
distancia = (diffr * diffr + diffg * diffg + diffb * diffb)
si la distancia < coincide con el umbral.
Este método me requerirá calcular la distancia entre el color de búsqueda y la huella digital en color de cada imagen. Me preguntaba si hay alguna manera de especificar de alguna manera un "área de búsqueda" basada en el color seleccionado (punto central) y un umbral predeterminado (o radio de búsqueda). Luego construya una consulta similar a SQL para devolver todas las imágenes que caen dentro de esta área.
¿Es esto posible?
BTW, estoy implementando esto en Python usando PIL y bibliotecas relacionadas.
Gracias por su ayuda SO!
SR
¿Ha encontrado lo que buscabas? – Thariama