<< immedian Image Enhancement and Restoration imwiener2 >>

IPCV - Image Processing and Computer Vision Toolbox for Scilab >> Image Enhancement and Restoration > imnoise

imnoise

Add noise (gaussian, etc.) to an image

Syntax

imn = imnoise(im, type [,parameters])

Parameters

im :

Input image.

type :

String having one of these values:

'salt & pepper' :

drop-out/On-off noise

'speckle' :

multiplicative noise

'gaussian' :

Gaussian white/additive noise

'localvar' :

Pixel-specific variance (Zero-mean Gaussian)

'poisson' :

Not yet implemented

parameters :

A sequence of parameters to control the noise distribution, depending on the chosen type. If omitted, default values are used (see below).

imn :

Noisy image, which has the same size and type as input image im .

Description

imnoise(im, type [, parameters]) adds a type of noise to the intensity image im. Optionally, you can control the noise parameters starting at the 3rd. Argument to imnoise. Here are example of noise types and their parameterss:

imn = imnoise(im,'salt & pepper',d) adds drop-out noise, where d is the noise density (probability of swapping a pixel). (default: d=0.05).

imn = imnoise(im,'gaussian',m,v) adds Gaussian additive noise of mean m and variance v. (default: m=0 and v=0.01)

im = imnoise(im,'localvar',V) additive zero-mean Gaussian noise where the variance at im(i,j) is V(i,j).

imn = imnoise(im,'localvar', intensity, V) additive zero-mean Gaussian noise, and the local variance of the noise, var, is a function of the image intensity values in im. The variance is matrix( interp1(intensity(:),V(:),im(:)), size(im) )

imn = imnoise(im,'speckle',v) adds multiplicative noise, using imn = im + noise*im, where noise is uniformly distributed with mean 0 and variance v. (default: v=0.04)

By default, we consider that "1" corresponds to the maximum intensity value of the image, and "0" to minimum. If the input image im is an integer image, it will be converted to double using im2double function first. Before return the result, the image will be converted to the same type as the input image. The elements in the output matrix imn that exceed the range of the integer or double type will be truncated.

Supported classes: INT8, UINT8, INT16, UINT16, INT32, DOUBLE.

Examples

im = imread(fullpath(getIPCVpath() + "/images/" + 'baboon.png'));

imn = imnoise(im, 'gaussian');
imshow(imn);

imn = imnoise(im, 'salt & pepper');
imshow(imn);

imn = imnoise(im(:,:,1), 'salt & pepper', 0.2);
imshow(imn);

lowtri = tril(ones(im(:,:,1)));
imn = imnoise( im(:,:,1), 'localvar', lowtri/5);
imshow(imn);

imn = imnoise( im(:,:,1), 'localvar', [0:0.1:1], [0:0.1:1].^3);
imshow(imn);

imn = imnoise(im, 'speckle' );
imshow(imn);

See also

Authors


Report an issue
<< immedian Image Enhancement and Restoration imwiener2 >>