# Noise cancellation by averaging multiple images together

As the title suggests , I want to know how noise cancellation is achieved by adding multiple images together . I know the theory behind it , but simple adding the pixel values of 100 noisy images of the same sample would simply produce a white image . Can anybody elaborate , how it is normally done.

• You're not adding them together; you're averaging them together. You have to divide by the number of images in order to not clip at white. – endolith Aug 8 '13 at 20:00
• @endolith : You are right.I mae a mistake – motiur Aug 9 '13 at 13:37

## 1 Answer

This works simply by virtue of the central limit theorem. For a given pixel, you are given 100 observations of its true value + random noise; and if you assume that the noise has zero mean, then the average of these will have a normal distribution centered at the true pixel value, with a variance decreasing as more observations are added. The central limit theorem also tells you that this is a rather terrible denoising method: for a gain in SNR of $6dB$ (reducing noise by a factor of 2) you have to increase the number of averaged samples by a factor of 4.

Regarding your problem, are you sure that you are averaging (dividing by the number of images) rather than just summing? And are you sure that you are using the correct data type for your computations? These are implementation/programming questions and are out of topic here.

• Programming depends on theory , I want to implement the theory . Its not that hard to just add two images pixels by pixels . But for cancellation , in a a normal image , you need to have some pixels that -ve in value , others +ve . On what basis , do you make do you separate pixels values , to take two polar values . – motiur Aug 8 '13 at 9:03
• Just another comment , do I have to do this in the Fourier domain , if so , I need some study . – motiur Aug 8 '13 at 9:09
• Noise canceling through summation assumes that the noise has zero mean. If this is not the case the result of the averaging process should be, to the limit, the original image + the mean of the noise. In any case, this should not be a white image. – pichenettes Aug 8 '13 at 9:14
• You don't need to do this in the Fourier domain, this would be a waste of computational resources and the result would be the same (Since the Fourier transform is a linear operator, the average of the Fourier transforms is just the Fourier transform of the average...) – pichenettes Aug 8 '13 at 9:15
• Yes, I figured out my mistake . Thanks , btw. – motiur Aug 8 '13 at 10:59