我想建立一个程序,比较使用Python的2张图片。我有一部分代码可以获取图像文件,我只需要找到一种方法来获取2个图像文件并比较它们,以查看这些.png图像之间是否存在差异。在窗口上的python图像比较
我试图使用PIL,但是,我有问题得到库与我的程序一起工作,我收到错误,_imaging C模块没有安装。
这不是一个非常复杂的任务,但如果有人能够给我一个出发点或想法,或者帮助我使用PIL,这将是非常有用的。
我想建立一个程序,比较使用Python的2张图片。我有一部分代码可以获取图像文件,我只需要找到一种方法来获取2个图像文件并比较它们,以查看这些.png图像之间是否存在差异。在窗口上的python图像比较
我试图使用PIL,但是,我有问题得到库与我的程序一起工作,我收到错误,_imaging C模块没有安装。
这不是一个非常复杂的任务,但如果有人能够给我一个出发点或想法,或者帮助我使用PIL,这将是非常有用的。
你可以说,比较容易使用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
模块的工作。
你想在图像中比较什么?尺寸?元数据等。如果你想看看它们是否是100%匹配(创建日期,大小,内容等),我会寻找每个图像的MD5哈希值,然后比较返回的哈希值。这一切都取决于你想要比较图像的级别。看看这里:
我不想涉及时间戳的比较,他们将是不同的,我想它进行检查,以确保照片的每个像素都是完全一样的,所以是,尺寸和图像的所有视觉数据。 – user1152578 2012-01-31 19:54:12