Skimage.measure 的compare_psnr和compare_ssim的改动

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

就是把相关方法放到了metrics里面了,名字都从缩写变成了全名😄😄😄
在附上API说明吧。structural_similarity,peak_signal_noise_ratio

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值度量

  • 64
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Q: "from skimage.measure import compare_psnr"表示什么意思? A: 这段代码是在Python中导入skimage库中的measure模块中的compare_psnr函数。compare_psnr函数用于计算两张图像之间的峰值信噪比(PSNR)值,是一种衡量图像质量的指标。 ### 回答2: from skimage.measure import compare_psnr是一个Python库中的一个类,用于计算图像的峰值信噪比(PSNR)。PSNR是一个可以量化图像质量的指标,它是比较两幅图像的相似度时常用的度量标准之一。 在计算PSNR时,我们需要比较两幅图像之间的差异。比较pnsr函数会首先将两个输入的图像归一化到相同的尺寸,然后比较它们之间的像素值是否相同。接下来,该函数将相邻像素之间的误差平方相加,并除以像素数来计算平均误差平方值(MSE)。然后,通过将MSE除以峰值信号功率得到PSNR。 峰值信号功率表示像素值的范围。对于一幅图像,峰值信号功率就是该像素值的最大值。例如,对于一个8位的灰度图像,其像素值范围为0到255,峰值信号功率为255。我们可以使用相同的方法来计算彩色图像的峰值信号功率。 通过使用比较pnsr函数,我们可以计算两幅图像之间的PSNR,并将其用于图像质量控制和优化算法。在实际应用中,我们可能需要针对不同的应用场景,选择不同的图像质量指标来进行计算和评估。峰值信噪比是其中一种广泛应用的图像质量指标,它可以同时考虑图像的结构和像素值的精度,可以很好地适用于多种场景的图像处理需求。 ### 回答3: 从skimage.measure中导入compare_psnr函数是用于计算图像之间的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)。峰值信噪比是评估图像质量的一种常用指标,通常被用于比较原始图像和经过压缩或处理后的图像之间的相似性。 PSNR是通过计算图像的峰值信号功率和图像的均方误差之间的比率来衡量图像质量。峰值信号功率代表的是图像所能表示的最大功率,均方误差则是用来衡量压缩或处理后的图像与原始图像之间的差异。PSNR的计算公式为PSNR = 10 * log10 (峰值信号功率 / 均方误差)。 使用compare_psnr函数可以计算两个图像之间的PSNR值,其中需要传入两个图像数组作为参数。该函数计算出的PSNR值越高,表示两个图像之间的相似度越高,即图像质量越接近。 总的来说,skimage.measure中的compare_psnr函数是一个非常实用的工具,可以方便地评估和比较图像质量,适用于图像压缩、处理、传输等方面。它可以提供给用户一种量化的方式来描述图像之间的差异,并提供有关图像重建质量的信息,帮助用户制定更好的图像处理策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值