GaussianFilter

GaussianFilter[image,r]
filters image by convolving with a Gaussian kernel of pixel radius r.

GaussianFilter[image,r,{n1,n2}]
convolves image with a kernel formed from the ^(th) derivatives of the discrete Gaussian.

GaussianFilter[image,{r,σ},]
uses a Gaussian kernel with radius r and standard deviation σ.

GaussianFilter[image,{{r1,r2},}]
uses radii etc. in vertical and horizontal directions.

GaussianFilter[data,]
applies Gaussian filtering to an array of data.

Details and OptionsDetails and Options

  • GaussianFilter is a linear smoothing filter commonly used in image processing applications.
  • GaussianFilter works with arbitrary 2D and 3D images, operating separately on each channel, as well as data arrays of any rank.
  • GaussianFilter[image,r] uses .
  • GaussianFilter[image,] by default gives an image of a real type of the same dimensions as image.
  • GaussianFilter[image,r,{n1,n2}] computes the ^(th) Gaussian derivative of the vertical dimension in an image pointing downward and the ^(th) horizontal derivative pointing toward the right.
  • The following options can be specified:
  • Method"Bessel"how to determine elements of the Gaussian matrix
    Padding"Fixed"padding method
    WorkingPrecisionAutomaticthe precision to use
    "Standardization"Truewhether to rescale and shift the Gaussian matrix to account for truncation
  • Possible settings for the Method option are and .
  • With a setting Padding->None, GaussianFilter[image,] normally gives an image smaller than image.

Background
Background

  • GaussianFilter is a filter commonly used in image processing for smoothing, reducing noise, and computing derivatives of an image. It is a convolution-based filter that uses a Gaussian matrix as its underlying kernel.
  • Gaussian filtering is linear, meaning it replaces each pixel by a linear combination of its neighbors (in this case with weights specified by a Gaussian matrix). It is also local, meaning it produces output pixel values based only upon the pixel values in its neighborhood as determined by the convolution kernel.
  • Gaussian filtering is not edge-preserving, so other filters such as BilateralFilter and MeanShiftFilter may be more appropriate in applications where edges must be preserved.
  • Applying GaussianFilter is equivalent to using ImageConvolve with a GaussianMatrix kernel. MeanFilter is a similar smoothing filter.
Introduced in 2008
(7.0)
| Updated in 2012
(9.0)