【问题标题】:Calculate SNR in single image in MATLAB在 MATLAB 中计算单张图像的信噪比
【发布时间】:2014-10-31 05:38:33
【问题描述】:

我有这张图片:

我想在其中计算 SNR。为此我使用了代码:

img=imread('noicy.JPG');
img=double(img(:));
ima=max(img(:));
imi=min(img(:));
ims=std(img(:));
snr=20*log10((ima-imi)./ims)

计算 SNR 的代码是否正确?

【问题讨论】:

    标签: image matlab noise


    【解决方案1】:

    信噪比的定义见herehere

    可以使用标准和行业定义(10log(x)20log(x))。 check this

    现在,signal 等于像素值的平均值 (mean(img(:))),noise 是像素值的标准偏差或误差值 (std(img(:)))。

    您可以使用比率或SNR=10*log10(signal/noise) 以分贝表示结果。

    【讨论】:

    • 谢谢,但是这个参数的值是相对的还是绝对的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2014-07-25
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多