【问题标题】:How do I find images with a similar color using Python and PIL?如何使用 Python 和 PIL 找到颜色相似的图像?
【发布时间】:2010-10-10 06:50:25
【问题描述】:

我的文件夹中有很多图像,我想找到与预先选择的图像颜色相似的图像。

我希望能够做类似的事情:

python find_similar.py sample.jpg

并让它返回如下内容:

234324.jpg
55.jpg
9945.jpg
345434.jpg
104.jpg

这可行吗?

【问题讨论】:

    标签: python image-processing python-imaging-library


    【解决方案1】:

    我不能给你一个固定的解决方案,但这里有一个解决问题的角度。它不是特定于 PIL 的,而且可能完全是伪造的,因为我没有图像处理方面的经验。

    1. 对图像执行color quantization。这为您提供了一个调色板,可以对图像中的颜色信息进行编码,而无需任何形状信息。

    2. 运行principal components analysis 以获取颜色立方体中的主要成分。严格来说,你可以不先量化就运行它,但它可能太贵了。

    3. 对不同图像的主成分进行最小二乘拟合。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      Question on Stackoverflow 中讨论了查找相似图像的算法,您可能希望在 Python 和 PIL 中实现其中之一。

      此外,您可以直接使用 PIL 的 ImageChops 模块并使用 difference 方法来比较两个图像,如下所示:

      import Image
      import ImageChops
      
      im1 = Image.open("original.jpg")
      im2 = Image.open("sample.jpg")
      
      diff = ImageChops.difference(im2, im1)
      

      这可能有助于您了解原始图像与其他图像的差异。

      还有另一个similar question on Stackoverflow 讨论了这个问题。

      【讨论】:

      • 示例图像是一个正方形,左半边粉红色,右半边黑色。这会找到左半黑右半粉的方形图像吗?
      猜你喜欢
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 2014-02-08
      • 2010-12-14
      • 2012-02-10
      相关资源
      最近更新 更多