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