# Copyright (c) 2011 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Compare two images for equality.""" from PIL import Image from PIL import ImageChops def Compare(file1, file2, **kwargs): """Compares two images to see if they're identical. Args: file1: path to first image to compare file2: path to second image to compare kwargs: unused for this operator Returns: None if the images are identical A tuple of (errorstring, image) if they're not """ kwargs = kwargs # unused parameter im1 = Image.open(file1) im2 = Image.open(file2) if im1.size != im2.size: return ("The images are of different size (%s vs %s)" % (im1.size, im2.size), im1) diff = ImageChops.difference(im1, im2) if max(diff.getextrema()) != (0, 0): return ("The images differ", diff) else: return None