Matlab code for adding Gaussian noise of 30 db
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Image Analyst
2019년 1월 19일
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.
댓글 수: 0
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!