MATLAB中两个图像的SNR是否正确?

时间:2019-02-21 09:30:58

标签: matlab image-processing

下面是用于在MATLAB中计算两个图像的SNR的算法:

ref = imread('No_Noise.png');

A = imread('Yes_Noise.png');
A = imresize(A, [512 512]);

test = snr(A, ref)

我只想问一下,最后一行到底是什么? A作为嘈杂的图像,REF作为不嘈杂的图像(在这种情况下,我得到否定的结果)?还是REF不是嘈杂的图像,A不是嘈杂的图像(在这种情况下,我得到了肯定的结果)?

1 个答案:

答案 0 :(得分:4)

引用https://codepen.io/Gesma94/pen/MLxdbR

  

r = snr(x,y)通过计算信号的平方和与噪声{{1}的平方和之比,返回以信号x为分贝的信噪比(SNR)。 }。 y必须具有与y相同的尺寸。当输入信号不一定是正弦波并且您已估计出噪声时,请使用此格式。

因此,在您的情况下,通过减去两个来获得纯噪声:

x