estoy buscando una manera de ordenar las imágenes como en la siguiente captura de pantalla:imágenes de clasificación por color
http://www.pixolution.de/sites/LargeImages_en.html
He mirado en todos los hilos sobre este tema en stackoverflow pero ninguno de la propuesta las soluciones incluso se acercan a darme la imagen de arriba.
enfoques que he intentado:
- para cada imagen, construir histograma de colores RGB con el fin de que se produzca
descendente para cada histograma, calcular la distancia desde el negro (r: 0, g: 0, b: 0) de la siguiente manera:
for color in image_histogram: total_distance += color.percentage_of_image * distance(BLACK_RGB, color.rgb)
continuación, ordenar las imágenes por sus distancias
Tenía la esperanza de que las imágenes con una distribución de color similar terminaran con una distancia similar y resultaran en un orden visual por color. Este no fue el caso, parece funcionar un poco, pero no como en la imagen de arriba.
Para la función de distancia, he intentado la distancia euclidiana, la clasificación hsv (h-> s-> v) e incluso la clasificación de distancia de laboratorio. Nada de lo que ha ayudado
Si alguien tiene un mejor enfoque, ¡me encantaría saber!
Esto no está etiquetado como python, pero para loop en el medio seguro parece python. –
Tanto en PHP como en lienzo con HTML5 y JavaScript, puede obtener el color promedio de rgb de una imagen.A partir de ahí, agregará todos los valores y los dividirá por 3 para obtener la claridad de su imagen. Organizará todos los valores a lo largo del eje y de claro a oscuro, y realizará un cambio de matiz de r a ga b a lo largo del eje x. Solo una idea, después de terminar mi proyecto actual, podría trabajar en esto, ¡gracias por la idea! – Vap0r
gracias Vap0r, aquí hay un ejemplo más claro de lo que estoy buscando: http://www.pixolution.de/sites/LargeImages_en.html – user257543