python图片组对比代码
时间: 2023-05-31 12:07:00 浏览: 81
图片比对python代码
以下是Python代码,用于比较两张图片的相似度:
```python
from PIL import Image
def compare_images(image1, image2):
"""
比较两张图片的相似度
:param image1: 第一张图片
:param image2: 第二张图片
:return: 相似度,值越小越相似
"""
# 打开图片
img1 = Image.open(image1)
img2 = Image.open(image2)
# 获取图片大小
size1 = img1.size
size2 = img2.size
# 如果图片大小不同,则直接返回100%不相似
if size1 != size2:
return 100
# 转换图片格式为RGBA
img1 = img1.convert('RGBA')
img2 = img2.convert('RGBA')
# 获取图片像素
pixels1 = img1.load()
pixels2 = img2.load()
# 初始化相似度
similarity = 0
# 遍历像素点
for i in range(size1[0]):
for j in range(size1[1]):
# 获取像素点的RGBA值
rgba1 = pixels1[i, j]
rgba2 = pixels2[i, j]
# 如果两个点的透明度都为0,则认为相同
if rgba1[3] == 0 and rgba2[3] == 0:
continue
# 如果两个点的RGB值相同,则相似度+1
if rgba1[:3] == rgba2[:3]:
similarity += 1
# 计算相似度
similarity = similarity / float(size1[0] * size1[1]) * 100
# 返回相似度
return similarity
```
使用方法:
```python
similarity = compare_images('image1.jpg', 'image2.jpg')
print('相似度为:', similarity, '%')
```
其中,`image1.jpg`和`image2.jpg`为两张需要比较的图片的路径。`similarity`为两张图片的相似度,值越小越相似。
阅读全文