Windows下Python的图像比较
我想用Python写一个程序,比较两张图片。我已经有一部分代码可以获取图片文件,现在只需要找到一种方法,把这两张图片拿来比较一下,看看这两张.png格式的图片有没有什么不同。
我尝试使用PIL这个库,但在我的程序中遇到了一些问题,出现了一个错误,提示说没有安装_imaging C模块。
这其实不是一个很复杂的任务,但如果有人能给我一个起步的建议,或者帮我解决PIL的问题,那就太好了。
2 个回答
0
你想要比较图片的什么呢?是大小?还是一些元数据之类的?如果你想确认它们是否完全相同(比如创建日期、大小、内容等等),我建议你可以获取每张图片的MD5哈希值,然后比较这些哈希值。具体要比较到什么程度,完全取决于你的需求。可以看看这里:
0
你可以使用 PIL
模块轻松创建一个比较图片的函数:
from PIL import Image
def compare_images(image_file1, image_file2):
im1 = Image.open(image_file1)
im2 = Image.open(image_file2)
if im1.size != im2.size:
return False
width, height = im1.size
im_access1 = im1.load()
im_access2 = im2.load()
for i in xrange(height):
for j in xrange(width):
if im_access1[i,j] != im_access2[i,j]:
return False
return True
当然,首先你得让 PIL
模块正常工作。