code for white gaussian noise for image
Show older comments
Hi, I have a Lena image with size 512X512 and I want to add white Gaussian noise with mean=0 and variance=10 to this image. do you have any code that do this for me? thanks in advance.
Answers (2)
Namwon Kim
on 13 Jan 2020
%% Code for White Gaussian Noise for Image
% noisy = (sqrt((Standard Deviation)^2)*randn(size(Lena_image))+mean + Lena_image
% Where (Standard Deviation)^2 is a variance, and
% [512, 512] = size(Lena_image)
Therefore,
load Lena % Input: Lena image
noisy = (sqrt(10)*randn(512,512))+0 + Lena;
Walter Roberson
on 26 Mar 2018
0 votes
https://www.mathworks.com/help/images/ref/imnoise.html
10 Comments
nadia
on 26 Mar 2018
Walter Roberson
on 26 Mar 2018
https://www.mathworks.com/matlabcentral/answers/24282-image-processing-noise
nadia
on 27 Mar 2018
Image Analyst
on 27 Mar 2018
You just follow the directions. The only "trick/catch" is that the variance assumes the image is in the range 0-1 so you can either use im2double() or you can divide your variance by 255^2.
grayImage = imread('lena.jpg');
subplot(1, 2, 1);
imshow(grayImage);
title('Original Image', 'FontSize', 30);
noisyImage = imnoise(grayImage, 'gaussian', 0, 10/255^2);
subplot(1, 2, 2);
imshow(noisyImage);
title('Noisy Image', 'FontSize', 30);
diffImage = double(grayImage) - double(noisyImage);
variance = var(diffImage(:)) % Check that it's around 10

nadia
on 3 Apr 2018
Image Analyst
on 3 Apr 2018
No. You'd use 10 instead of 10/255^2 because your max value is 1, not 255. You will have an extremely noisy image. So much so that you probably won't be able to see your underlying original image.
Walter Roberson
on 3 Apr 2018
10/255^2 for that case.
nadia
on 3 Apr 2018
Walter Roberson
on 3 Apr 2018
A variance of 10 is not "suitable or double images" (that are in the range 0 to 1). Especially not if you think of the range 0 to 1 as being upper and lower bounds on representation and do not permit (say) -7 to +7 to be stored there to give room for a clear variance of 10. If you clamp at 0 to 1 then you can never get a variance of 10.
Categories
Find more on Image Category Classification in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!