在MATLAB中使用这些图像计算SNR的正确方法是什么?

时间:2016-02-09 07:36:32

标签: performance matlab image-processing filtering signal-processing

目前我正试图找出一组图像的信噪比,作为衡量我的去卷积(滤波算法)性能的一种方法。我有一组像下面那样的图像,它们在算法之前和之后显示图像:

enter image description here

现在,我发现了很多判断性能的方法。其中之一是使用公式用于图像的SNR,其中信号是原始图像,噪声是滤波图像。正如this问题所描述的另一种方法是从奇异图像本身中找出SNR。通过这种方式,我可以比较两种图像的SNR比率并完全获得全新的信噪比。

因此,我的问题在于,互联网上的资源令人困惑,我不知道测量这些图像的信噪比的"正确" 方式并将其用作绩效指标。

1 个答案:

答案 0 :(得分:1)

这实际上取决于您要比较的内容,以及您认为“信号”和“噪音”的内容。在第一种方法中,您有效地计算图像1和图像2之间的误差(或差异),其中您假设图像2被噪声着色但图像1没有(这也是一种信号与失真比)。因此,此测量是相对的,它测量从原始到目标(或失真技术)的转换方法的性能,但不测量图像本身。例如,新类型的加密过滤器从图像1生成图像2,并且您希望测量图像的不同程度以计算过滤器的性能。

在基于您发布的链接的第二种方法中,您假设两个图像中存在噪声但处于不同级别,并且您正在针对每个单独的图像进行测量 - 或者换句话说,您正在测量每个单独图像的标准偏差,这不是相对的。第二次测量通常用于比较从同一来源生成的结果,即实验产生同一对象的N个图像。受控环境并且您想要测量,例如场景中存在的噪声量(您可以使用此方法计算噪声的协方差,以便您控制实验环境)。