Competing algorithms for SNR of a image. Which is better?

2 vues (au cours des 30 derniers jours)
Jim
Jim le 14 Juin 2011
Is either of these methods preferable to the other for finding SNR of a image?
Method 1:
signalImage1 = double('crop image of L2S11.png');
noisyImage = imnoise(signalImage1,'salt & pepper',0.02);
noiseOnlyImage = double(noisyImage) - signalImage1;
SNR = mean2(signalImage1 ./ noiseOnlyImage );
Method 2:
m=mean2('crop image of L2S11.png');
d=double('crop image of L2S11.png');
sd=std(sd);
SNR=m/sd;
Method 3:(this is giving answer in double)
I=imread('crop image of L2S11.png');
sd=im2double(I);
m=mean2('crop image of L2S11.png');
sd1=std(sd);
SNR=m/sd1;

Réponses (1)

Jonas Reber
Jonas Reber le 15 Juin 2011
I would go for method 2 (3 is the same?) but wouln't one calculate SNR = mean2(im)/std(im(:))?
  2 commentaires
Jim
Jim le 15 Juin 2011
thank u for ur answer
but method 2 gives the answer as 2.326
and method 3 gives the answer in double
which answer we have to take
Jonas Reber
Jonas Reber le 15 Juin 2011
If I do the following:
i = imread('cameraman.tif'); % load sample image
imd = im2double(i);
imdd = double(i);
snr1 = mean2(imd)./std(imd(:));
snr2 = mean2(imdd)./std(imdd(:));
I twice (snr1 and snr2) get 1.9044, don't you?

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by