Separable filterA 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] Examples1. 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. Another notable example of a separable filter is the Gaussian blur whose performance can be greatly improved the bigger the convolution window becomes. References
|