I generate two noise images using MATLAB's function imnoise()
.
If I average the two noise images, the resultant image looks like the original noise
image but only the noise level is different.
If I perform spatial averaging using box filtering, the noise pattern in the resultant image is different from the original noise image. The noise is correlated spatially if spatial averaging is applied.
However I can't figure out the principle behind it. The noise at each location is i.i.d before any operation is performed. So the temporal operation and spatial operation should not produce different results.
The MATLAB is as follow
width = 256;
height = 128;
image = ones(height, width, 'uint8');
image = image.*128;
image_noise0 = imnoise(image, 'gaussian', 0, 0.0005);
image_noise1 = imnoise(image, 'gaussian', 0, 0.0005);
image_noise_tem = uint8((uint16(image_noise0) + uint16(image_noise1))/2);
h = fspecial('average', 3);
image_noise_spa = imfilter(image_noise0, h);