首页 文章

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

提问于
浏览
1

在一些很久以前的Flash Session 上,我记得看过一个带有颜色选择器的Flash应用程序的演示 . 根据用户的颜色选择,应用程序会向用户显示该颜色的近似范围内的一组图像:一堆主要是红色图像,一堆主要是蓝色图像等 .

我正在寻找两件事:1)这种应用程序演示的链接,理想情况下是Flash应用程序2)ActionScript或C#代码,描述如何选择一组颜色范围内的图像 .

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

3 回答

  • 0

    我找不到任何示例代码,但找到了一个article,它给出了他们的过程的高级解释(从其他page关于Flickr的功能来搜索具有相似颜色的图像) . 显然,Google还允许您使用图像搜索执行此操作(但我不知道这是来自元数据标签还是实际颜色匹配) .

    现在到实际答案:

    您需要存储图像的“颜色签名”,而不是仅存储图像的平均颜色或聚合颜色 .

    我的第一个(有根据的猜测)想法将包含以下步骤:

    • 从图像生成每个色带的直方图

    • 生成描述每条直方图曲线的一些因素(均值,方差,标准差等等? - 这些因素将构成您图像的数字签名)

    • 将这些因素存储在您的数据库中(并且每个因素在数据库中都有一个索引)

    然后,您将获取输入(颜色,颜色范围或源图像),针对该源运行直方图算法,并搜索与计算因子的匹配 .

  • 1

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

  • 1

    您可以为每个图像使用一组描述符,然后匹配它们 .

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

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

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

相关问题