AttributeError: module 'cv2' has no attribute 'SSIM'
时间: 2023-07-14 10:09:05 浏览: 91
非常抱歉,我之前给出的代码有误。OpenCV库中没有直接提供SSIM函数。请使用其他图像处理库,如scikit-image(skimage)来计算SSIM。
以下是使用scikit-image计算PSNR和SSIM的示例代码:
```python
import cv2
from skimage.metrics import peak_signal_noise_ratio, structural_similarity
# 加载原始图像和生成图像
original_img = cv2.imread('original.jpg')
generated_img = cv2.imread('generated.jpg')
# 将图像转换为灰度图像(如果需要)
original_gray = cv2.cvtColor(original_img, cv2.COLOR_BGR2GRAY)
generated_gray = cv2.cvtColor(generated_img, cv2.COLOR_BGR2GRAY)
# 计算PSNR和SSIM
psnr = peak_signal_noise_ratio(original_gray, generated_gray)
ssim = structural_similarity(original_gray, generated_gray)
# 打印结果
print("PSNR:", psnr)
print("SSIM:", ssim)
```
在上面的示例中,我们首先使用cv2.cvtColor函数将原始图像和生成图像转换为灰度图像(如果需要)。然后,我们使用skimage.metrics中的peak_signal_noise_ratio和structural_similarity函数分别计算PSNR和SSIM。
请确保已安装scikit-image库(可以使用pip install scikit-image进行安装),并根据自己的需求对代码进行调整。