Filter löschen
Filter löschen

Signal to Noise Ratio (SNR)

27 Ansichten (letzte 30 Tage)
Toqeer Mahmood
Toqeer Mahmood am 12 Okt. 2015
Kommentiert: Mahmoud Yassin am 16 Nov. 2022
Hi everone!
I wanted to add gaussian noise to an image. I used the command like noisy=imnoise (image, 'gaussian', 0, 0.05), it makes the image so noisy. In different Journal papers different researchers are claiming that they are adding gaussian noise with the power such as 20dB, 25dB etc. moreover their reported images are also in good quality. I am unable to solve this mystery, as this command gives some floating type result but not as a whole number. I am also attaching the published papers. Please anyone have a look on them and reply, Thanks.

Akzeptierte Antwort

Thorsten
Thorsten am 12 Okt. 2015
Bearbeitet: Thorsten am 12 Okt. 2015
20dB, 25dB is not the power of the noise, but the signal to noise ratio (SNR) in decibel.
It is computed as SNRdb = 10*log10(sigma_signal^2/sigma_noise^2); For imnoise you provide the variance of the noise, i.e., sigma_noise^2. You have to transform the above equation to determine sigma_noise for the desired SNRdB and the sigma_signal of your image.
This little demo creates noise of different SNR using either randn or imnoise; both give same results.
I = im2double(imread(('lena'));
varI = std2(I)^2;
SNRdB = 5:5:30;
for i=1:numel(SNRdB)
sigma_noise = sqrt(varI/10^(SNRdB(i)/10));
N = sigma_noise*randn(size(I));
IN1 = I+N; % using randn
IN2 = imnoise(I, 'Gaussian', 0, sigma_noise^2); % using imnoise
imshow([IN1 IN2])
title(['SNR = ' int2str(SNRdB(i)) 'dB' ...
', \sigma_{noise} = ' num2str(sigma_noise)]);
disp('Press any key to proceed')
pause
end
  3 Kommentare
AMIR KHAN
AMIR KHAN am 27 Aug. 2021
Very Helpful
Mahmoud Yassin
Mahmoud Yassin am 16 Nov. 2022
Very helpful, thanks a lot

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Toqeer Mahmood
Toqeer Mahmood am 12 Okt. 2015
Thanks Thorsten for you kind reply and help.
  1 Kommentar
Thorsten
Thorsten am 12 Okt. 2015
Toqeer, please be so kind to formally "Accept" my answer.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by