python对比两张图片找不同

目录

第一种

第二种


第一种 

# 引用图片库
from PIL import Image
# 打开图片
imgA = Image.open('xxx1.jpg<要对比图片的名称及目录>')
imgB = Image.open('xxx2.jpg<同上>')
# 获取目标图片的大小(也就是长和高的像素)
width, height = imgA.size
# 获取图片每个像素的颜色
for x in range(0, width):
    for y in range(0, height):
        color1 = imgA.getpixel((x, y))
        color2 = imgB.getpixel((x, y))
# 对比两张图片的像素颜色  相同的地方变白,不同的地方变黑
        if color1 == color2:
# 改变像素颜色 | 255.255.255为RBG的白色 0.0.0为黑色
            imgA.putpixel((x, y), (255, 255, 255))
        else:
            imgA.putpixel((x, y), (0, 0, 0))
# 输出对比结果  图片名随意命名
imgA.save('xxx3.jpg')

详细代码如下:

from PIL import Image
imgA = Image.open('xxx1.jpg<要对比图片的名称及目录>')
imgB = Image.open('xxx2.jpg<同上>')
width, height = imgA.size
for x in range(0, width):
    for y in range(0, height):
        color1 = imgA.getpixel((x, y))
        color2 = imgB.getpixel((x, y))
        if color1 == color2:
            imgA.putpixel((x, y), (255, 255, 255))
        else:
            imgA.putpixel((x, y), (0, 0, 0))
imgA.save('xxx3.jpg')

第二种

# 引用PLT库
from PIL import Image
# 使用PLT库中的ImageChops
from PIL import ImageChops
# 打开图片
imgA = Image.open('xxx1.jpg<要对比图片的名称及目录>')
imgB = Image.open('xxx2.jpg<同上>')
# 用ImageChops中的找不同工具,将两张图片放进去 工具会自动找不同
different = ImageChops.difference(imgA, imgB)
# 设置条件|如果图片相同 输出‘两张图片相同’,不同则输出对比结果(图片任意命名)
if different.getbbox() is None:
    print('两张图片相同')
else:
    different.save('xxx3.jpg')

详细代码如下:

from PIL import Image
from PIL import ImageChops
imgA = Image.open('xxx1.jpg<要对比图片的名称及目录>')
imgB = Image.open('xxx2.jpg<同上>')
different = ImageChops.difference(imgA, imgB)
if different.getbbox() is None:
    print('两张图片相同')
else:
    different.save('xxx3.jpg')

你可能感兴趣的:(python,pillow)