Python对比两张图片
时间: 2023-11-19 12:50:17 浏览: 151
您可以使用Python的PIL库来对比两张图片。PIL库提供了一些函数来计算两张图片的差异度,例如`ImageChops.difference()`函数可以计算两张图片的差异,返回一个表示差异的图片对象。您可以通过比较差异图片的像素值来判断两张图片的相似性。
以下是一个简单的示例代码:
```python
from PIL import Image, ImageChops
def compare_images(image1_path, image2_path):
# 打开两张图片
image1 = Image.open(image1_path)
image2 = Image.open(image2_path)
# 计算两张图片的差异
diff_image = ImageChops.difference(image1, image2)
# 获取差异图片的像素值
diff_pixels = list(diff_image.getdata())
# 统计差异像素数量
diff_count = sum(pixel != (0, 0, 0) for pixel in diff_pixels)
# 返回差异度
similarity = 1 - (diff_count / float(image1.size[0] * image1.size[1]))
return similarity
# 示例用法
image1_path = 'image1.jpg'
image2_path = 'image2.jpg'
similarity = compare_images(image1_path, image2_path)
print(f"两张图片的相似度为: {similarity}")
```
阅读全文