两个图像文件夹中的同名字图片进行比较SSIM,求出最终的均值SSIM的代码
时间: 2024-05-12 07:14:23 浏览: 16
可以使用Python中的OpenCV库来计算两个图像的SSIM值。以下是一个示例代码,可以计算两个文件夹中同名图片的平均SSIM值:
```
import cv2
import os
def calculate_ssim(img1, img2):
ssim = cv2.compare_ssim(img1, img2, multichannel=True)
return ssim
folder1 = 'path/to/folder1'
folder2 = 'path/to/folder2'
ssim_sum = 0.0
count = 0
for filename in os.listdir(folder1):
if filename.endswith('.jpg') or filename.endswith('.png'):
img1 = cv2.imread(os.path.join(folder1, filename))
img2 = cv2.imread(os.path.join(folder2, filename))
ssim = calculate_ssim(img1, img2)
ssim_sum += ssim
count += 1
avg_ssim = ssim_sum / count
print('Average SSIM:', avg_ssim)
```
其中,`calculate_ssim`函数用于计算两个图像的SSIM值,`folder1`和`folder2`分别为两个文件夹的路径。代码通过遍历两个文件夹中的同名图片,计算它们的SSIM值,并将所有SSIM值相加求和,最终求出平均SSIM值并输出。