Scroll to navigation

Pamaddnoise User Manual(0) Pamaddnoise User Manual(0)


pamaddnoise - add noise to a Netpbm image


pamaddnoise { [-type gaussian]

[-sigma1 value]

[-sigma2 value] | -type multiplicative_gaussian

[-mgsigma value] | -type impulse

[-tolerance ratio] | -type laplacian

[-lsigma value] | -type poisson

[-lambda value] } [-seed int]



This program is part of Netpbm(1).

pamaddnoise adds the specified noise type to a Netpbm image. pamaddnoise treats a PPM image as 3 independent planes, not as a plane of colors in a color space.


In addition to the options common to all programs based on libnetpbm (most notably -quiet, see
Common Options
), pamaddnoise recognizes the following command line options:

Select type of noise by name. The following noise types are available: gaussian, multiplicative_gaussian, impulse, laplacian, poisson. Only enough letters to be unique are required for the noise type option. The default noise type is gaussian.

To each sample value is added the value of a two Gaussian random variables.
The variance of one is independent of the sample value, while the variance
of the other is proportional to the sample value. You control these
variances with options -sigma1 and -sigma2 (and can eliminate
either by setting the variance to 0). The mean of the Gaussian
distributions is 0.

This is 'salt and pepper' noise. Samples are changed randomly
to zero or full brightness or left alone. This is also know as salt and
pepper noise, as in a grayscale picture, it adds white pixels and black
pixels, which look like salt and pepper, respectively. Control this with
options -tolerance and -salt.

This is valid only with -type=poisson. It is the expected value of the Poisson distribution for a sample value of maximum intensity. The expected value for other intensities is proportional; e.g. for half intensity, it is half this value.

The default value is 12.

This is meaningful only for laplacian noise.

The default value is 10.0.

This is valid only for multiplicative gaussian noise.

The default value is 0.5.

This is the random number generator seed value. Use this to get
repeatable results.

This is valid only for gaussian noise. It is the standard deviation
of the Gaussian random variable that is multiplied by the square root of
each sample value and added to that sample value.

The default value is 4.0.

This is valid only for gaussian noise.
It is the standard deviation of the Gaussian random variable that is
added directly to each sample value.

The default value is 20.0.

This is valid only for impulse noise.
fraction is the fraction of samples that are changed
in the output. Whether each is changed to salt or pepper is controlled by

The default value is 0.10.

This is valid only for impulse noise. fraction is the
fraction of the pixels that are changed that are changed to salt (maxval);
the rest are changed to pepper (0).

The default is 0.5 (half salt, half pepper).

This option was new in Netpbm 11.04 (September 2023). Before that, the
noise is always half salt and half pepper.


  • "Adaptive Image Restoration in Signal-Dependent Noise" by R. Kasturi Institute for Electronic Science, Texas Tech University, 1982

  • "Digital Image Processing Algorithms" by Ioannis Pitas, Prentice Hall, 1993 ISBN 0-13-145814-0


pgmnoise(1), pgmmedian(1), pnm(5), pam(5),


pamaddnoise was added to Netpbm in Version 10.29 (August 2005). It had been distributed by Mike Burns via his own web site before that (and continued to be so).

Burns' version, and the one in Netpbm 10.29, was called pnmaddnoise and worked only on PNM images. In Netpbm 10.30, it was converted to handle PAM images and renamed to pamaddnoise.


Copyright (C) 1995 by Mike Burns <>


This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at
21 August 2023 netpbm documentation