2012-01-31 56 views
0

我想建立一个程序,比较使用Python的2张图片。我有一部分代码可以获取图像文件,我只需要找到一种方法来获取2个图像文件并比较它们,以查看这些.png图像之间是否存在差异。在窗口上的python图像比较

我试图使用PIL,但是,我有问题得到库与我的程序一起工作,我收到错误,_imaging C模块没有安装。

这不是一个非常复杂的任务,但如果有人能够给我一个出发点或想法,或者帮助我使用PIL,这将是非常有用的。

回答

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模块的工作。

0

你想在图像中比较什么?尺寸?元数据等。如果你想看看它们是否是100%匹配(创建日期,大小,内容等),我会寻找每个图像的MD5哈希值,然后比较返回的哈希值。这一切都取决于你想要比较图像的级别。看看这里:

Compare two images the python/linux way

+0

我不想涉及时间戳的比较,他们将是不同的,我想它进行检查,以确保照片的每个像素都是完全一样的,所以是,尺寸和图像的所有视觉数据。 – user1152578 2012-01-31 19:54:12