imnoise
Add noise to image
Syntax
Description
adds zero-mean, Gaussian white noise. The local variance of the noise,
J = imnoise(I,"localvar",intensity_map,var_local)var_local, is a function of the image intensity values
in I. The mapping of image intensity values to noise
variance is specified by the vector intensity_map.
generates Poisson noise from the data instead of adding artificial noise to the
data. See Algorithms for more
information.J = imnoise(I,"poisson")
adds multiplicative noise with variance J = imnoise(I,"speckle",var_speckle)var_speckle.
Examples
Input Arguments
Output Arguments
Algorithms
The mean and variance parameters for
"gaussian","localvar", and"speckle"noise types are always specified as if the image were of classdoublein the range [0, 1]. If the input image is a different class, theimnoisefunction converts the image todouble, adds noise according to the specified type and parameters, clips pixel values to the range [0, 1], and then converts the noisy image back to the same class as the input.The Poisson distribution depends on the data type of input image
I:If
Iis double precision, then input pixel values are interpreted as means of Poisson distributions scaled up by1e12. For example, if an input pixel has the value5.5e-12, then the corresponding output pixel will be generated from a Poisson distribution with mean of 5.5 and then scaled down by1e12.If
Iis single precision, the scale factor used is1e6.If
Iisuint8oruint16, then input pixel values are used directly without scaling. For example, if a pixel in auint8input has the value 10, then the corresponding output pixel will be generated from a Poisson distribution with mean 10.
To add
"salt & pepper"noise with densitydto an image,imnoisefirst assigns each pixel a random probability value from a standard uniform distribution on the open interval (0, 1).For pixels with probability value in the range (0,
d/2), the pixel value is set to0. The number of pixels that are set to0is approximatelyd*numel(I)/2.For pixels with probability value in the range [
d/2,d), the pixel value is set to the maximum value of the image data type. The number of pixels that are set to the maximum value is approximatelyd*numel(I)/2.For pixels with probability value in the range [
d, 1), the pixel value is unchanged.

