按颜色/颜色范围浏览图片:需要示例和/或代码

在一些很久以前的Flash会议上,我记得看到一个带有颜色选择器的Flash应用程序演示。 基于用户的颜色选择,应用程序会向用户显示该颜色的大致范围内的一组图像:大量红色图像,大量蓝色图像等。

我正在寻找两件事:1)这类应用程序的演示的链接,最好是Flash应用程序2)ActionScript或C#代码,它描述了如何选取一系列颜色范围内的图像。

我知道如何从单个图像中提取聚合/平均RGB,并将此信息保存到数据库中。 我需要知道如何在特定颜色容差范围内选择图像。 这是否可以纯粹使用SQL和RGB颜色代码的字母数字赋值的知识来完成,还是有更好的方法?


我找不到任何示例代码,但找到了一篇文章,提供了有关其流程的高级解释(从其他页面了解有关Flickr的功能以搜索具有相似颜色的图像)。 显然,谷歌也可以让你在图片搜索时做到这一点(但我不知道它是来自元数据标签还是实际的颜色匹配)。

现在到实际的答案:

您不必为图像存储平均颜色或聚合颜色,而需要存储图像的“颜色签名”。

我的第一个(受过教育的猜测)想法将包含以下步骤:

  • 从图像中为每个色带生成直方图
  • 生成一些描述每个直方图曲线的因素(均值,方差,std-dev等) - 这些因素将组成您的图像的数字签名)
  • 将这些因子存储在数据库中(并且这些因素中的每一个都会在数据库中有一个索引)
  • 然后,您将输入您的输入(颜色,颜色范围或源图像),针对该来源运行您的直方图算法,并搜索与计算出的因子相匹配的结果。


    我在评论中引用的Flickr Hacks解决方案是我找到的最好的解决方案:它涉及使用常见算法将图像大小调整为1x1像素,从而为整个图像提供平均颜色。 聪明。


    您可以为每个图像使用一组描述符,然后匹配这些描述符。

    这里有一些很棒的工作。对于C#。

    http://savvash.blogspot.com/p/compact-composite-descriptors.html

    还可以看看免费的IMG(Rummager)工具..它可以做你想做的事(即找到匹配的颜色图像)。

    链接地址: http://www.djcxy.com/p/87057.html

    上一篇: Image browse by color/color range: need examples and/or code

    下一篇: change text color in shell