MATLAB: The value of variance in function imnoise in case of gaussian is a bit confusing

gaussianImage Processing Toolboximnoisevariance

Hi Everyone,
I am trying to add gaussian noise to image with some variance and mean, generally variance of 50 is considerable, but the function imnoise make image so much noisy even for a variance of 0.1,
image = rgb2gray(imread('pepper.jpg')); noisy_image = imnoise(image,'gaussian',0,0.1);
I just wanna ask that is this variance normalized using any specific scale, if yes, then with what factor do I need to multiply it to get the original one.

Best Answer

imnoise works with an intensity image, so if you are inputting a unit8 image for example with values in the range [0,255], then imnoise first does
I = imread('eight.tif');
I = im2double(I);
before adding the Gaussian noise, so basically you scale every value in your image [0,255] by 255 so that it falls into the interval [0,1] and then add the noise to that.