python PIL图片处理模块实例

在进行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个本地路径的图片是否相同

你可能感兴趣的:(python)