我正在寻找一种对图像进行排序的方法,如下面的屏幕截图所示:
http://www.pixolution.de/sites/LargeImages_en.html
我已经在stackoverflow上查看了这个主题的所有主题,但是所提出的解决方案都没有给我上面的图像。
我试过的方法:
对于每个直方图,计算与黑色(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)甚至Lab距离排序。其中没有一个帮助
如果有人有更好的方法,我很想知道!
答案 0 :(得分:2)
我自己从未做过这样的事情,所以请原谅我,如果以下方法是天真的:
答案 1 :(得分:1)
答案 2 :(得分:0)
使用它们之间的距离,而不是它们与黑色之间的距离对相似的颜色进行分组,并使用图像中的平均颜色。
答案 3 :(得分:0)
您可能想查看ImagePlot。我不确定系统背后的算法是否可用,但您当然可以通过免费软件下载并运行图像集来分析它们。
该软件用于大量图像集的许多有趣的可视化,数百万+
信息:http://lab.softwarestudies.com/p/imageplot.html#whatsnew 资料来源:https://github.com/culturevis/imageplot