gpt4 book ai didi

python - 使用 Python/PIL 比较(相似)图像

转载 作者:太空狗 更新时间:2023-10-29 21:01:55 30 4
gpt4 key购买 nike

我正在尝试使用 Python 2.6 和 PIL 计算两个图像的相似度(读作:Levenshtein 距离)。

我打算给我们e python-levenshtein用于快速比较的库。

主要问题:

什么是比较图像的好策略?我的想法是这样的:

  • 转换为 RGB(透明 -> 白色)(或者可能转换为单色?)
  • 将较小的放大到较大的尺寸
  • 将每个 channel (= 唯一的 channel ,如果转换为单色)转换为序列(项目值 = 像素的颜色值)
  • 计算两个序列之间的编辑距离

当然,这不会处理镜像图像、裁剪图像等情况。但是对于基本比较,这应该很有用。

是否有更好的策略记录在某处?

编辑: Aaron H 对速度问题的看法是正确的。对于比几百 x 几百像素大的图像,计算 Levelshtein 大约需要很长时间。但是,在我的示例中,缩小到 100x100 和 200x200 后的结果之间的差异小于 1%,因此将最大图像大小设置为 ~100px 左右可能是明智的...

编辑:谢谢 PreludeAndFugue,这个问题正是我要找的。

顺便说一句,Levenshtein 距离似乎可以优化,但它给了我一些非常糟糕的结果,可能是因为背景中有很多冗余元素。必须看看其他一些算法。

EIDT:均方根偏差和峰值信噪比似乎是另外两个选项,它们实现起来不是很困难,而且看起来 CPU 消耗也不是很大。但是,我似乎需要某种上下文分析来识别形状等。

无论如何,感谢所有链接,也感谢您指出 NumPy/SciPy 的方向。

最佳答案

查看 imgSeek :

imgSeek is a collection of free open source visual similarity projects. The query (image you are looking for) can be expressed either as a rough sketch painted by the user or as another image you supply (or an image in your collection). The searching algorithm makes use of multiresolution wavelet decomposition of the query and database images.

关于python - 使用 Python/PIL 比较(相似)图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2603713/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com