Odtud
Nejrychlejším způsobem, jak zjistit, zda mají dva obrázky přesně stejný obsah, je získat rozdíl mezi těmito dvěma obrázky a poté vypočítat ohraničující rámeček nenulových oblastí v tomto obrázku.
Pokud jsou obrázky identické, všechny pixely na rozdílovém obrázku jsou nulové a funkce ohraničujícího rámečku vrátí Žádný.
from PIL import ImageChops
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
Existuje projekt OSS, který používá WebDriver k pořizování snímků obrazovky a poté snímky porovnává, aby zjistil, zda se nevyskytují nějaké problémy (http://code.google.com/p/fighting-layout-bugs/)). Dělá to tak, že otevře soubor do proudu a pak porovná každý bit.
Možná budete schopni udělat něco podobného s PIL.
EDIT:
Po dalším výzkumu jsem našel
h1 = Image.open("image1").histogram()
h2 = Image.open("image2").histogram()
rms = math.sqrt(reduce(operator.add,
map(lambda a,b: (a-b)**2, h1, h2))/len(h1))
na http://snipplr.com/view/757/compare-two-pil-images-in-python/ a http://effbot.org/zone/pil-comparing-images.htm