3

我正在寻找一种使用 python 分析图像相似性的好方法。我不是在寻找一种方法来确定两个图像是否相同。我只是在寻找一种方法来确定两个图像之间的相似性(例如,如果两个图像非常相似,则可以给它们 9/10 的“等级”;如果它们完全不相似,它们将被赋予非常低指数,如 2/10)。从我所做的一些阅读中,建议使用 ImageChops 模块 - 但是,我无法找到下载它的方法。如果有人知道如何下载它,或者有其他有效解决方案的建议,我将非常感谢他们的建议!

提前致谢!

4

2 回答 2

8

ImageChops 是 PIL(Pillow) 的一个模块。要使用 ImageChops 功能,您需要pip install Pilloweasy_install Pillow下载 src并提取 src,然后从 CMD CD 到提取的文件夹并运行python setup.py install

要使用 ImageChops,您可以这样做,from PIL import ImageChops 您可以阅读文档部分

一些基本用法示例http://effbot.org/imagingbook/imagechops.htm

要检查 2 个图像之间的差异:

import Image
from PIL import ImageChops

im1 = Image.open("splash.png")
im2 = Image.open("splash2.png")

diff = ImageChops.difference(im2, im1)

有一个比较图像脚本,但它不是 PIL;它在scipy 模块上 你也可以在这里查看这个脚本

于 2013-10-13T04:10:05.517 回答
3

ImageChops 是属于 Python Image Library (PIL) 的一个模块。请注意,ImageChops 中没有内置图像相似度算法(像素级除外),而是您用来编写自己的算法的工具。这里有一篇很棒的文章: 如何量化两个图像之间的差异?

ImageChops 模块包含许多算术图像操作,称为通道操作(“chops”)。这些可用于各种目的,包括特殊效果、图像合成、算法绘画等。 http://effbot.org/imagingbook/imagechops.htm

你可以在这里下载 Python 图像库。 http://www.pythonware.com/products/pil/

windows用户也有预编译包。 http://www.lfd.uci.edu/~gohlke/pythonlibs/

于 2013-10-13T04:10:23.447 回答