【问题标题】:Image browse by color/color range: need examples and/or code按颜色/颜色范围浏览图像:需要示例和/或代码
【发布时间】:2010-10-21 06:08:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net actionscript graphics colors


    【解决方案1】:

    我找不到任何示例代码,但找到了一个article,它对他们的过程进行了高级解释(来自另一个page,关于 Flickr 搜索具有相似颜色的图像的功能)。显然,Google 还允许您通过他们的图像搜索来做到这一点(但我不知道这是来自元数据标签还是实际颜色匹配)。

    现在来看实际答案:

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

    我的第一个(有根据的猜测)想法需要以下步骤:

    1. 为图像中的每个色带生成直方图
    2. 生成一些描述每条直方图曲线的因素(均值、方差、标准差等? - 这些因素将构成图像的数字签名)
    3. 将这些因素存储在您的数据库中(这些因素中的每一个都会在数据库中拥有一个索引)

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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2019-05-12
        • 2021-04-24
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 2018-11-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        相关资源
        最近更新 更多