python+PIL实现图片对比

安装依赖库

pip install pillow

贴代码:

from PIL import Image
import math
import operator
from functools import reduce


def compare_images(pic1, pic2):
	# 使用Image函数拿到图片
    image1 = Image.open(pic1)
    image2 = Image.open(pic2)
    # 获取图片 RGB 的值,返回的是一个数组list
    histogram1 = image1.histogram()
    histogram2 = image2.histogram()

    # 获取 histogram 列表中的数据,
    differ = math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2,histogram1, histogram2)))/len(histogram1))
    
    # differ的值为0,则表示图片相同,如果differ越大,则表示图片差异越大
    print('differ:',differ)
    if differ == 0:
        return 'same'
    else:
        return 'diff'
        
# 传两张图片的地址或者存放路径
compare_images(pic1='xxx', pic2='xxx')

你可能感兴趣的:(Python)