Zero mean noise in images
To get a nice visualisation lets consider a colour image with zero mean noise &amp; standard deviation 20! Which means the values of each RGB component can randomly vary from +20 to -20. So pixels will be added with this noise. 

Here is the code for generating noise to an Image using opencv c++

Mat mSource_Bgr,mNoise_Bgr;
mSource_Bgr= imread(FileName_S,1);

// We need to work with signed images (as noise can be
// negative as well as positive). We use 16 bit signed
// images as otherwise we would lose precision.
Mat mGaussNoise_Bgr(mSource_Bgr.size(), CV_16SC3);

double StdDev=10;
randn(mGaussNoise_Bgr, Scalar::all(0), Scalar::all(StdDev));
Mat mTemp;
mSource_Bgr.convertTo(mTemp,CV_16SC3);
addWeighted(mTemp, 1.0, mGaussNoise_Bgr, 1.0, 0.0, mTemp);
mTemp.convertTo(mNoise_Bgr,mSource_Bgr.type());

mGaussNoise_Bgr.convertTo(mGaussNoise_Bgr,CV_8UC3);
imshow("Noise Image",mGaussNoise_Bgr);
imshow("Original Image",mSource_Bgr);
imshow("Original Image + Noise",mNoise_Bgr);


Here is the Original Image


Noise Image with Mean : 0 &amp; Std Deviation : 20


Original Image + Noise


Same Image with Noise Mean:0 Std Deviation:10