Matlab code for adding Gaussian noise of 30 db

4 vues (au cours des 30 derniers jours)
Nithya SIvasamy
Nithya SIvasamy le 19 Jan 2019
To an image I want to add the Gaussian noise of 5db to 50 db.Tried with the following code. But in the output image display,the output is common for 5db and 50 db
I = im2double(imread(('D:\Nithya\Original Brodatz\D001.gif')));
varI = std2(I)^2;
SNRdB = 5;
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)]);
end

Réponse acceptée

Image Analyst
Image Analyst le 19 Jan 2019
SNRdB is not a vector, so it makes no sense to do SNRdB(i) in your loop. You will only get one value, whatever value it is, not both 5 and 50.

Plus de réponses (0)

Catégories

En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by