【问题标题】:Organizing Images By Color按颜色组织图像
【发布时间】:2010-12-01 07:29:46
【问题描述】:

也许您已经注意到了,但 Google 图片搜索现在有一项功能,您可以按颜色缩小结果范围。有谁知道他们是怎么做到的?显然,他们已经对每张图片的信息进行了索引。

我很好奇分析图像颜色数据以实现简单颜色搜索的最佳方法。

感谢您的任何想法!

【问题讨论】:

    标签: image colors


    【解决方案1】:

    Google 功能提供 12 种颜色来匹配图像。所以我会计算每个样本的Lab 坐标,并在二维空间上绘制每种颜色的(a*, b*) 坐标。我会删除 L* 组件,因为应该忽略像素的亮度(亮度)。使用(a*, b*) 空间中的12 个点,我将使用Voronoi Diagram 计算分区。然后对于给定的图像,我会获取每个像素,计算其(a*, b*) 坐标。对图像中的每个像素执行此操作,从而在每个 Voronoi 分区中建立计数直方图。包含最高像素数的分区将被视为图像的“颜色”。

    这将构成算法的基础,尽管会进行一些改进,以忽略在感知上不被视为图像主题一部分的黑白背景区域。

    【讨论】:

    • 你能详细说明一下这个技巧吗?
    • 请注意L 是亮度或“亮度”值(不是b)。
    【解决方案2】:

    平均颜色是一个很好的开始。只需使用双三次或双线性过滤器(或任何先进的东西)将您的图像缩小到原始尺寸的 10%。这将大大减少色彩噪声,并为您提供更接近人类感知图像的结果。 IE。纯粹由黄色和蓝色像素组成的像素栅格会变成干净的绿色。

    如果你不模糊或缩小图像,你可能仍然会得到平均绿色,但偏差会很大。

    【讨论】:

    • 然后我会采用缩小图像的平均颜色并将其用于索引目的吗?
    • 您对缩小图像的颜色进行采样。
    • @JoelVerhagen 类似的方法见this answer。它缩小到 1x1 像素并将结果作为UIColor 返回。
    【解决方案3】:

    所有像素的平均颜色?制作直方图并找到“n”个峰值的平均值?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 2010-09-11
      • 2012-10-28
      • 1970-01-01
      相关资源
      最近更新 更多