Python 2.7 使用OpenCV Python进行多图像比较

Python 2.7 使用OpenCV Python进行多图像比较,python-2.7,opencv,Python 2.7,Opencv,我尝试在OpenCV Python中使用diff函数比较两个图像,但无法将一个图像与存储在测试文件夹中的图像进行比较。 那么,如何将一个输入图像与使用OpenCV Python保存在文件夹中的测试图像进行比较呢?这段代码适用于我: 从PIL导入图像 i1=Image.open('./Image_1.png')) 对于范围(18)内的i: i2=Image.open('./Image\u%s.png“%i”) pairs=zip(i1.getdata(),i2.getdata()) 如果len(

我尝试在OpenCV Python中使用diff函数比较两个图像,但无法将一个图像与存储在测试文件夹中的图像进行比较。
那么,如何将一个输入图像与使用OpenCV Python保存在文件夹中的测试图像进行比较呢?

这段代码适用于我:

从PIL导入图像
i1=Image.open('./Image_1.png'))
对于范围(18)内的i:
i2=Image.open('./Image\u%s.png“%i”)
pairs=zip(i1.getdata(),i2.getdata())
如果len(i1.getbands())==1:
#用于灰度JPEG
dif=总和(p1的abs(p1-p2),p2成对)
其他:
dif=总和(p1的abs(c1-c2),c1的p2成对,拉链中的c2(p1,p2))
ncomponents=i1.大小[0]*i1.大小[1]*3

打印(“差异(百分比):”,(dif/255.0*100)/ncomponents)
能否显示您迄今为止尝试过的内容?您需要更具体地说明您尝试确定的内容。是否应该发现保存为PNG的红色100x100像素正方形与保存为JPEG的红色100x100像素正方形相同?因为这两个文件的大小和内容完全不同。如果我在Photoshop中创建了一个64x64像素的黑色正方形,并将其保存为PNG,然后用不同的名称再次保存,这两个文件是否应该被识别为相同的?如果您对它们进行校验和,它们将不会出现,因为PNG格式保存的日期/时间会有几秒钟的不同…感谢您的回复。实际上我所有的图像都是jpeg格式的。我想知道的是如何将一个图像逐个与文件夹中的测试图像进行比较。
from PIL import Image
image1 = Image.open("image1.png")
image2 = Image.open("image2.png")

assert image1.size == image2.size, "Images are of Different sizes."

pairs = zip(image1.getdata(), image2.getdata())
dif = sum(abs(c1-c2) for p1,p2 in pairs for c1,c2 in zip(p1,p2))

ncomponents = image1.size[0] * image1.size[1] * 3
print("Difference (percentage):", (dif / 255.0 * 100) / ncomponents)