python 比较两张图是否相同
时间: 2023-08-04 14:14:23 浏览: 133
可以使用 Python 的 Pillow 库来比较两张图是否相同。Pillow 为 Python 提供了处理图片的功能,可以对图片进行读取、处理、保存等操作。
以下是比较两张图是否相同的示例代码:
```python
from PIL import Image
def compare_images(image1_path, image2_path):
image1 = Image.open(image1_path)
image2 = Image.open(image2_path)
if image1.mode != image2.mode or image1.size != image2.size:
return False
pairs = zip(image1.getdata(), image2.getdata())
if len(image1.getbands()) == 1:
# for grayscale images
dif = sum(abs(p1 - p2) for p1, p2 in pairs)
else:
# for color images
dif = sum(abs(c1 - c2) for p1, p2 in pairs for c1, c2 in zip(p1, p2))
n_components = image1.size[0] * image1.size[1] * 3
similarity = (n_components - dif) / n_components * 100
return similarity > 99 # 可以根据需求调整相似度的阈值
# 调用函数比较两张图片
if compare_images("image1.jpg", "image2.jpg"):
print("两张图片相同")
else:
print("两张图片不同")
```
此代码会比较两张图片的每个像素点,计算两张图片的相似度,如果相似度高于给定的阈值,则认为两张图片相同。
阅读全文