A separable filter in image processing can be written as product of two more simple filters.
Typically a 2-dimensional convolution operation is separated into two 1-dimensional filters. This reduces the computational costs on an image with a filter from down to . [1]
Examples
1. A two-dimensional smoothing filter:
2. Another two-dimensional smoothing filter with stronger weight in the middle:
3. The Sobel operator, used commonly for edge detection:
This works also for the Prewitt operator.
In the examples, there is a cost of 3 multiply–accumulate operations for each vector which gives six total (horizontal and vertical). This is compared to the nine operations for the full 3x3 matrix.
References
This page was last edited on 2 October 2022, at 14:05