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

本文介绍了在使用最新版本scikit-image时遇到的导入错误,提供了解决方案,即更新导入语句。示例代码展示了如何正确导入mean_squared_error, peak_signal_noise_ratio和structural_similarity,并计算图像的PSNR、SSIM和MSE。注意避免中文路径以防止额外错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于版本问题,安装的最新版本的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博客

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值