ImageFilter Module

The ImageFilter module contains definitions for a pre-defined set of filters, which can be be used with the Image.filter() method.

Example: Filter an image

from PIL import ImageFilter

im1 = im.filter(ImageFilter.BLUR)

im2 = im.filter(ImageFilter.MinFilter(3))
im3 = im.filter(ImageFilter.MinFilter)  # same as MinFilter(3)


The current version of the library provides the following set of predefined image enhancement filters:

  • BLUR
class PIL.ImageFilter.GaussianBlur(radius=2)[source]

Gaussian blur filter.

Parameters:radius – Blur radius.
class PIL.ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3)[source]

Unsharp mask filter.

See Wikipedia’s entry on digital unsharp masking for an explanation of the parameters.

class PIL.ImageFilter.Kernel(size, kernel, scale=None, offset=0)[source]

Create a convolution kernel. The current version only supports 3x3 and 5x5 integer and floating point kernels.

In the current version, kernels can only be applied to “L” and “RGB” images.

  • size – Kernel size, given as (width, height). In the current version, this must be (3,3) or (5,5).
  • kernel – A sequence containing kernel weights.
  • scale – Scale factor. If given, the result for each pixel is divided by this value. the default is the sum of the kernel weights.
  • offset – Offset. If given, this value is added to the result, after it has been divided by the scale factor.
class PIL.ImageFilter.RankFilter(size, rank)[source]

Create a rank filter. The rank filter sorts all pixels in a window of the given size, and returns the rank‘th value.

  • size – The kernel size, in pixels.
  • rank – What pixel value to pick. Use 0 for a min filter, size * size / 2 for a median filter, size * size - 1 for a max filter, etc.
class PIL.ImageFilter.MedianFilter(size=3)[source]

Create a median filter. Picks the median pixel value in a window with the given size.

Parameters:size – The kernel size, in pixels.
class PIL.ImageFilter.MinFilter(size=3)[source]

Create a min filter. Picks the lowest pixel value in a window with the given size.

Parameters:size – The kernel size, in pixels.
class PIL.ImageFilter.MaxFilter(size=3)[source]

Create a max filter. Picks the largest pixel value in a window with the given size.

Parameters:size – The kernel size, in pixels.
class PIL.ImageFilter.ModeFilter(size=3)[source]

Create a mode filter. Picks the most frequent pixel value in a box with the given size. Pixel values that occur only once or twice are ignored; if no pixel value occurs more than twice, the original pixel value is preserved.

Parameters:size – The kernel size, in pixels.

Table Of Contents

This Page

Need help?

You can get help via IRC at irc:// or Stack Overflow here and here. Please report issues on GitHub.