在进行python编码时,需要用到pil模块来进行图片的处理,以下实例实现比较2个图片是否相等,可以作为判断来使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
@author:freesigefei
Created on 2016年3月11日
'''
#通过比较2张图片判断图片是否相同,如果两张图片完全相等则返回结果为浮点类型“0.0”,如果不相同则返回结果值越大
from PIL import Image
import math
import operator
from functools import reduce
img1 = "D:\\data\\Logo.jpg" # 指定正确Logo路径
img2 = "D:\\download\\Logo.jpg" #指定下载Logo路径
def image_contrast(img1, img2):
image1 = Image.open(img1)
image2 = Image.open(img2)
h1 = image1.histogram()
h2 = image2.histogram()
result=math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2, h1, h2)))/len(h1))
return result
if __name__ == '__main__':
result = image_contrast(img1,img2)
print result
print "Compare Success"
通过返回值是否为浮点类型0.0,可以判断2个本地路径的图片是否相同