Skimage.measure 的compare_psnr和compare_ssim的改动

最近看一个代码里面计算psnr和ssim使用的是老版本的用法,代码跑不起来。

from skimage.measure import  compare_psnr,compare_ssim

查阅之后发现是新版本废弃了这两个方法。然后在API文档中搜索找到了新版本应该使用的API

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

structural_similarity

skimage.metrics.structural_similarity(im1, im2, *, win_size=None, gradient=False, data_range=None, channel_axis=None, multichannel=False, gaussian_weights=False, full=False, **kwargs)

计算两个图片之间的平均结构相似指数。

im1, im2: ndarray
两个图片,任何具有相同形状的维度。
win_size: int or None, optional
用来比对的滑动窗口的变长。必须是奇数。如果gaussian_weights是True,将其忽略,窗口尺寸将依赖于sigma
gradient: bool, optional
如果为True,也会返回相对于im2的梯度
data_range: float, optional
输入图像的数据范围(最大和最小值之间可能的距离)使用默认,这会从图像数据类型中估计
channel_axis: int or None, optional
如果为None,图像被假定为灰度图(单通道),否则,使用该参数索引轴的数组对应的通道。
multichannel: bool, optional
如果为True,则将数组的最后一维视为通道。相似度计算是独立完成的每个通道,然后平均。此参数已弃用:请指定channel_axis。
gaussian_weights: bool, optional
如果为True,则每个patch的均值和方差由宽度σ =1.5的归一化高斯核进行空间加权。
full: bool, optional
如果为True,也返回完整的结构相似度图像。

mssim: float
图像上的平均结构相似度指数。
grad: ndarray
im1和im2之间的结构相似度梯度。这只在梯度设置为True时返回。
S: ndarray
完整的SSIM映像。这只在full设置为True时返回。

最后再说一下,如果是以前的代码改成现在的这个structural_similarity,如果用了multichannel,他会提示使用channel_axis,选定通道的那个维度即可。

peak_signal_noise_ratio

skimage.metrics.peak_signal_noise_ratio(image_true, image_test, *, data_range=None)

给一个图片计算峰值信噪比

image_true: ndarray
Ground-truth图像,与im_test形状相同。

image_test: ndarray
测试图像

data_range: int, optional
输入图像的数据范围(可能值的最小值和最大值之间的距离)。默认情况下,这是根据图像数据类型估计的。

psnr: float
PSNR值度量

Original: https://blog.csdn.net/qq_36571422/article/details/122462988
Author: 哈土奇
Title: Skimage.measure 的compare_psnr和compare_ssim的改动

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/672472/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球