<!--
{
  "documentType" : "article",
  "framework" : "CoreImage",
  "identifier" : "/documentation/CoreImage/convolution-filters",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Convolution Filters"
}
-->

# Convolution Filters

Produce effects such as blurring, sharpening, edge detection, translation, and embossing.

## Discussion

A convolution filter generates each output pixel by summing all elements in the element-wise product of two matrices - the weight matrix and a matrix containing the neighbors of each input pixel. A bias is added to this and the resulting value is clamped to between 0.0 and 1.0. This operation is performed independently for each color component (including the alpha component). You can create many types of image processing effects using different weight matrices, such as blurring, sharpening, edge detection, translation, and embossing.

## Topics

### Filters

[`+  convolution3X3Filter`](/documentation/CoreImage/CIFilter-swift.class/convolution3X3())

Applies a convolution 3 x 3 filter to the `RGBA` components of an image.

[`+  convolution5X5Filter`](/documentation/CoreImage/CIFilter-swift.class/convolution5X5())

Applies a convolution 5 x 5 filter to the `RGBA` components image.

[`+  convolution7X7Filter`](/documentation/CoreImage/CIFilter-swift.class/convolution7X7())

Applies a convolution 7 x 7 filter to the `RGBA` color components of an image.

[`+  convolution9HorizontalFilter`](/documentation/CoreImage/CIFilter-swift.class/convolution9Horizontal())

Applies a convolution-9 horizontal filter to the `RGBA` components of an image.

[`+  convolution9VerticalFilter`](/documentation/CoreImage/CIFilter-swift.class/convolution9Vertical())

Applies a convolution-9 vertical filter to the `RGBA` components of an image.

[`+  convolutionRGB3X3Filter`](/documentation/CoreImage/CIFilter-swift.class/convolutionRGB3X3())

Applies a convolution 3 x 3 filter to the `RGB` components of an image.

[`+  convolutionRGB5X5Filter`](/documentation/CoreImage/CIFilter-swift.class/convolutionRGB5X5())

Applies a convolution 5 x 5 filter to the `RGB` components of an image.

[`+  convolutionRGB7X7Filter`](/documentation/CoreImage/CIFilter-swift.class/convolutionRGB7X7())

Applies a convolution 7 x 7 filter to the RGB components of an image.

[`+  convolutionRGB9HorizontalFilter`](/documentation/CoreImage/CIFilter-swift.class/convolutionRGB9Horizontal())

Applies a convolution 9 x 1 filter to the RGB components of an image.

[`+  convolutionRGB9VerticalFilter`](/documentation/CoreImage/CIFilter-swift.class/convolutionRGB9Vertical())

Applies a convolution 1 x 9 filter to the RGB components of an image.

### Protocols

[`CIConvolution`](/documentation/CoreImage/CIConvolution)

The properties you use to configure a convolution filter.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)