首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按颜色分类图像

按颜色分类图像
EN

Stack Overflow用户
提问于 2011-05-25 23:51:34
回答 4查看 6.6K关注 0票数 10

我正在寻找一种对图像进行排序的方法,如下面的截图所示:

http://www.pixolution.de/sites/LargeImages_en.html

我已经看过关于堆栈溢出的这个主题的所有线程,但是没有一个被提议的解决方案接近于给我上面的图像。

我试过的方法:

  1. 对每幅图像建立rgb颜色的直方图,对每个直方图按出现
  2. 的降序排列,计算出与黑色的距离(r:0,g:0,b:0)如下:

Image_histogram中的颜色: total_distance += color.percentage_of_image * color (BLACK_RGB,color.rgb)

然后根据距离对图像进行排序

我希望类似颜色分布的图像最终以相似的距离结束,并通过颜色进行视觉排序。不是这样的,它似乎有点工作,但不像上面的图像。

对于距离函数,我尝试了欧氏距离,hsv排序(h->s->v),甚至是Lab距离排序。所有这些都帮不上忙

如果有人有更好的方法,我很想知道!

EN

回答 4

Stack Overflow用户

发布于 2011-05-26 00:02:37

我自己从来没有做过这样的事情,所以如果下面的方法太天真的话,请原谅我:

  • 对每个图像,通过将所有像素的R、G、B值相加,将其归结为1平均RGB值,然后除以总像素。将组件规范化为0..1
  • ,根据RGB值在2D颜色空间中绘制图像。这可以是三维(r,g,b)向量transformation.

的二维投影。

票数 2
EN

Stack Overflow用户

发布于 2015-08-05 22:50:09

您可以转换为HSV并按H进行排序。

色调是大多数人在想到“颜色”时所想到的。

请参阅:RGB to HSV in PHP

票数 2
EN

Stack Overflow用户

发布于 2011-05-25 23:56:39

使用它们之间的距离而不是它们与黑色之间的距离对相似的颜色进行分组,并使用图像中的平均颜色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6132288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档