目录
第一种
第二种
第一种
# 引用图片库
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')