Dari sini
Cara tercepat untuk menentukan apakah dua gambar memiliki konten yang persis sama adalah dengan mendapatkan selisih antara kedua gambar tersebut, lalu menghitung kotak pembatas dari wilayah bukan nol pada gambar ini.
Jika gambarnya identik, semua piksel dalam gambar yang berbeda adalah nol, dan fungsi kotak pembatas mengembalikan Tidak Ada.
from PIL import ImageChops
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
Ada proyek OSS yang menggunakan WebDriver untuk mengambil tangkapan layar dan kemudian membandingkan gambar untuk melihat apakah ada masalah (http://code.google.com/p/fighting-layout-bugs/)). Itu dilakukan dengan membuka file ke dalam aliran dan kemudian membandingkan setiap bit.
Anda mungkin dapat melakukan hal serupa dengan PIL.
EDIT:
Setelah penelitian lebih lanjut saya menemukan
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))
di http://snipplr.com/view/757/compare-two-pil-images-in-python/ dan http://effbot.org/zone/pil-comparing-images.htm