2014-09-06 498 views
1

單個圖像我有這樣的形象:計算SNR在MATLAB

noisy image

我想計算SNR在裏面。對於這個我使用的代碼:

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

是否正確的代碼來計算信噪比?

回答

7

SNR的定義可以發現herehere

兩種標準和工業定義可以被使用(10log(x)20log(x))。 check this

目前,signal等於像素值(mean(img(:)))均值和noise是像素值(std(img(:)))的標準偏差或誤差值。

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

+0

謝謝,但是這個參數的值是相對的還是絕對的? – 2014-09-11 07:34:24