3

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

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

python find_similar.py sample.jpg

并返回如下内容:

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

这是可行的吗?

4

2 回答 2

4

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

  1. 对图像进行颜色量化。这为您提供了一个调色板,可以在没有任何形状信息的情况下对图像中的颜色信息进行编码。

  2. 运行主成分分析以获取颜色立方体中的主要成分。严格来说,你可以在没有量化的情况下运行它,但它可能太贵了。

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

希望这可以帮助。

于 2009-02-27T08:23:06.263 回答
1

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

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

import Image
import ImageChops

im1 = Image.open("original.jpg")
im2 = Image.open("sample.jpg")

diff = ImageChops.difference(im2, im1)

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

Stackoverflow 上还有另一个类似的问题讨论了这一点。

于 2009-02-27T08:13:04.883 回答