1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Python Noise generator 0.2.5

This filter generates noise in an image. Available noise types are

  1. Average Joe
    This filter generates noise in an image. Available noise types are

    • Poisson noise
    • Gaussian noise
    • Uniform noise
    • Laplace noise
    • Lorentz noise
      It is possible to generate (YCbCr) luminance noise only and to apply a gamma correction.

      General description
      This filter noisifies an image with different types of noise. For each noise type it's specific values can be set. These are
      • for Poisson noise: the amount of photons per pixel value.
      • for Gaussian noise: the standard deviation of the noise distribution.
      • for uniform noise: the width of the uniform distribution.
      • for Laplace noise: the scale parameter.
      • for Lorentz noise: the half width half maximum (HWHM).
        These types of noise are added to the image in that order. You can leave out any of the types by setting the relevant value to zero.

        For all noise types together you can select whether a gamma correction should be applied on the image such that noise is applied to linear image data. After noise application the image is retransformed to sRGB. You can also select whether or not you want to have luminance noise only and for that the image is transformed to the YCbCr colour space before adding noise.

        Noise types
        Here the different noise types are described. The histogram of each noise type is a real application of the filter on a neutal gray image (128).

        Poisson noise
        A source for Poisson noise is photon counting. When taking a picture in the real world photons (light particles) arrive at a certain rate. However photons are not correlated and thus the time between photons is not always the same. Therefore given the shutter time of your camera and a photon rate you may collect more or less photons in subsequent pictures. The number of photons you actually collect is Poisson distributed.

        Calculating poisson distributed random numbers takes a lot of time, especially for bright pixels and many photons. You can decrease computation time by selecting "Approximate" which approximates the Poisson distribution with a Gaussian distribution with the correct variance. As you can see in the histogram, Poisson noise closely resebles Gaussian noise. However, there is an important difference in for dark image values!


        You can see the difference to Gaussian noise in the stepwedge below.

        Gaussian noise
        In nature nearly everything is normally distributed. Normally distributed noise is Gaussian noise. It appears in image from thermal noise in the amplifier and other effects. An important aspect of Gaussian noise is that its variance does not depend on the intensity of the image.


        Uniform noise
        Uniform noise rarely occurs in nature but when digitizing a signal errors take place that are uniformly distributed. Like Gaussian noise the noise variance is independent of the image intensity.


        Laplace noise
        Laplace noise has a double exponential distribution. The scale parameter determines the width of the distribution.


        Lorentz noise
        Lorentz noise has Cauchy-Lorentz distribution which describes resonances and decays very slowly. This is a so called fat-tail distribution and causes here salt-and-pepper noise.


        Comparison between noise types
        In the images below the noise variance is the same for all noise types at a brightness of neutral gray (128) except for Lorentz noise where the variance is not defined.


    GIMP Version: