ここから
<ブロック引用>2 つの画像の内容がまったく同じかどうかを判断する最も簡単な方法は、2 つの画像の違いを取得してから、この画像の非ゼロ領域の境界ボックスを計算することです。
画像が同一の場合、差分画像のすべてのピクセルはゼロであり、バウンディング ボックス関数は None を返します。
from PIL import ImageChops
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
WebDriver を使用してスクリーン ショットを撮り、画像を比較して問題がないかどうかを確認する OSS プロジェクトがあります (http://code.google.com/p/fighting-layout-bugs/))。ファイルをストリームに開き、すべてのビットを比較することでそれを行います。
PIL で同様のことができるかもしれません。
編集:
さらに調査した結果、私は見つけました
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))
http://snipplr.com/view/757/compare-two-pil-images-in-python/ および http://effbot.org/zone/pil-comparing-images.htm で