Noise can be assessed in uniform regions of an image, by subtracting a lowpass-filtered version of it. Then from the histogram of intensities, a global measure can be obtained (such as the average absolute deviation).

But do we have good means to determine noise intensity locally, on every pixel of an image, where the noise distribution varies per regions ?

(Note: we consider that random texturing of the surfaces as a noise.)

The noise we target is more of the Gaussian type.

  • $\begingroup$ How does the noise evolve across the image, and what is its typical size? $\endgroup$ Oct 21, 2019 at 21:02
  • 1
    $\begingroup$ @LaurentDuval: noise evolves as a function of the underlying textures; no information is available about them. Typical SNR is below 5% (ratio of noise intensity to possible intensity range). $\endgroup$
    – user7657
    Oct 22, 2019 at 8:13

1 Answer 1


RGB cameras noise model is usually composed by:

  1. Shot Noise.
  2. A/D Noise (Both per pixels and correlation between columns).
  3. Noise by the Demosaicing algorithm (Usually "colors" the noise).

Hence, what's don usually is to build a model of the noise level vs. the illumination level and the inter correlation of local pixels with others.

Then, when analyzing texture zone, you usually analyze it by the edges and the pixel levels.

You could decompose the texture zone into some kind of linear combination of atoms, like in dictionary learning / wavelets and then try to estimate the noise.
Yet, classic profiling is vs. the illumination level and having a spatial correlation matrix regardless of the actual information captured.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.