applies the function f to the range-r neighborhood of each pixel in each channel of image.

Details and Options

  • ImageFilter is a generic neighborhood operator that replaces the value of each pixel by the result of applying a function to a pixel neighborhood. It can be used to implement linear or nonlinear local filters.
  • ImageFilter works with 2D and 3D images with any number of channels, operating separately on each channel.
  • ImageFilter[f,image,{r1,r2,}] applies f to blocks centered on each pixel.
  • ImageFilter assumes the index coordinate system for lists and images.
  • The channel values supplied to f are normally in the range 0 to 1, regardless of the underlying type used in the Image object. The function f is assumed to return channel values that are normally in the range 0 to 1.
  • ImageFilter[f,image, r] returns an image of the same type as image.
  • The following options can be given:
  • InterleavingFalsewhether to supply f lists of channel values
    MaskingAllregion of interest
    Padding"Fixed"what values to assume beyond the image
  • With the default setting Interleaving->False, the elements in the arrays to which f is applied are individual channel values for the pixels.
  • With Interleaving->True, the elements are instead the list of all channel values for a particular pixel.
  • ImageFilter by default gives an image of the same dimensions as image.
  • With a setting Padding->None, ImageFilter[f,image,] normally gives an image smaller than image.


open allclose all

Basic Examples  (1)

Blur an image by replacing each pixel with the local mean:

Scope  (4)

Apply a local minimum filter to a binary image:

Apply a median filter to a grayscale image:

Apply a median filter to a color image:

Apply a local maximum filter to a 3D image:

Options  (5)

Interleaving  (1)

When filtering a color image, the filter is applied to each channel separately:

Filter over all channels:

Masking  (1)

Process the area outside a disk:

Padding  (3)

By default, a "Fixed" padding is used:

Pad with zero:

No padding results in a smaller image:

Applications  (3)

Find the exact position of an image fragment:

Create a mean filter using a line kernel:

Median deviation filter:

Properties & Relations  (2)

Morphological dilation using ImageFilter:

Use ImageFilter to perform a convolution:

For images of real types, this is equivalent to ImageConvolve:

Wolfram Research (2008), ImageFilter, Wolfram Language function, (updated 2012).


Wolfram Research (2008), ImageFilter, Wolfram Language function, (updated 2012).


@misc{reference.wolfram_2020_imagefilter, author="Wolfram Research", title="{ImageFilter}", year="2012", howpublished="\url{}", note=[Accessed: 17-January-2021 ]}


@online{reference.wolfram_2020_imagefilter, organization={Wolfram Research}, title={ImageFilter}, year={2012}, url={}, note=[Accessed: 17-January-2021 ]}


Wolfram Language. 2008. "ImageFilter." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2012.


Wolfram Language. (2008). ImageFilter. Wolfram Language & System Documentation Center. Retrieved from