Skimage包的安装及使用时报错ImportError: cannot import name ‘compare_psnr’ from ‘skimage.measure’

1、安装skimage:(skimage对应的包是scikit-image)

pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple

2、安装好skimage后,源代码中下列行

from skimage.measure.simple_metrics import compare_psnr,compare_ssim

仍然报错:ImportError: cannot import name ‘compare_psnr’ from ‘skimage.measure’
                  ImportError: cannot import name ‘compare_ssim’ from ‘skimage.measure’

原因:因为在skimage高版本中原来的compare_psnrcompare_ssim已经被移除

解决方法:

①降低skimage的版本

先根据下列代码查询当前的版本:

import skimage
print(skimage.__version__)

如果skimage版本太高就要降低版本,我的是0.19.3,参考其他博主说0.16.2可以正常导入,把版本降低:

pip install scikit-image==0.16.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

②修改代码,看下新版skimage中哪里有compare_pare函数,将报错行更改为下列即可

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

参考链接:Skimage.measure 的compare_psnr和compare_ssim的改动_哈土奇的博客-CSDN博客

python debug:cannot import name ‘compare_psnr‘& cannot import name ‘compare_ssim‘_呆呆象呆呆的博客-CSDN博客

如何查看pytorch导入的包的版本位置等信息_开飞机的小毛驴儿的博客-CSDN博客

图像处理库Skimage安装与使用 – 简书 (jianshu.com)

物联沃分享整理
物联沃-IOTWORD物联网 » Skimage包的安装及使用时报错ImportError: cannot import name ‘compare_psnr’ from ‘skimage.measure’

发表评论