2012-01-31 55 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