scikit-image 0.18.0版本计算PSNR、SSIM、MSE(Python代码)

由于版本问题,安装的最新版本的scikit-image,以下代码会报错:

from skimage.measure import compare_ssim, compare_psnr, compare_mse

将其改为:

from skimage.metrics import mean_squared_error as compare_mse
from skimage.metrics import peak_signal_noise_ratio as compare_psnr
from skimage.metrics import structural_similarity as compare_ssim

即可正常使用,完整代码如下:

from skimage.metrics import mean_squared_error as compare_mse
from skimage.metrics import peak_signal_noise_ratio as compare_psnr
from skimage.metrics import structural_similarity as compare_ssim
import cv2

img1 = cv2.imread('正确图像地址')
img2 = cv2.imread('待比较图像地址')

p = compare_psnr(img1, img2)
s = compare_ssim(img1, img2, multichannel=True)  # 对于多通道图像(RGB、HSV等)关键词multichannel要设置为True
m = compare_mse(img1, img2)

print('PSNR:{},SSIM:{},MSE:{}'.format(p, s, m))

注意图像地址要避免中文路径,否则可能出现“AttributeError: 'NoneType' object has no attribute 'shape'”等错误。

参考文章:OpenCV-Python——图像PSNR、SSIM、MSE计算_米开朗琪罗儿的博客-CSDN博客

你可能感兴趣的:(python,开发语言,后端)