Я ищу способ сортировки изображений, как на следующем скриншоте:
http://www.pixolution.de/sites/LargeImages_en.html
Я рассмотрел все темы в этой теме по stackoverflow, но ни одно из предложенных решений даже близко не приблизилось к предоставлению мне изображения выше.
Подходы, которые я пробовал:
- для каждого изображения, построить гистограмму цветов RGB в порядке убывания вхождения
для каждой гистограммы рассчитайте расстояние от черного (r: 0, g: 0, b: 0) следующим образом:
for color in image_histogram:
total_distance += color.percentage_of_image * distance(BLACK_RGB, color.rgb)
затем сортируйте изображения по расстоянию
Я надеялся, что изображения с одинаковым цветовым распределением получат одинаковое расстояние и приведут к визуальному упорядочению по цвету. Это было не так, похоже, это работает, но не так, как на картинке выше.
Для функции расстояния я пробовал евклидово расстояние, сортировку по hsv (h-> s-> v) и даже сортировку по расстоянию по лаборатории. Ничего из этого не помогло
Если у кого-то есть лучший подход, я хотел бы знать!