如何比较python中的两个图像以返回数值差异和经过的时间


  1. 数值差应为带小数点的正或负
  2. 比较每个图像的视觉外观,而不是它们的二进制内容

例如:
file1.png&file2.gif
差异0.23
经过的时间0.843

我试过


from PIL import Image
from PIL import ImageChops
...
one = Image.open("file1.png")  
two = Image.open("file2.gif")  
diff = ImageChops.difference(one, two)  
print(diff)  

但是ImageChops不适用于比较.gif和.png文件。错误为


python3.8/site-packages/PIL/ImageChops.py", line 102, in difference  
return image1._new(image1.im.chop_difference(image2.im))  
ValueError: images do not match  

imagemagicknumpy能工作吗?必须支持.png、.gif(.jpg、.bmp可选(

尝试打印图像的模式。

print(one.mode)
print(two.mode)

如果这两种模式!=彼此不平等,那么它可以像你所看到的那样爆炸。

最新更新