It is a multistep algorithm used to obtain an optimal result of edge detection in a discrete two-dimensional image.
In first part, image array is passed in the horizontal direction from left to right according to the following formula: and from right to left according to the formula: The result of the computation is then stored into temporary two-dimensional array: The second step of the algorithm is very similar to the first one.
It is then passed in the vertical direction from top to bottom and bottom-up according to the following formulas: The description of the algorithm implies that the processed rows and columns are independent of each other.
As a result, the solution based on the IIR filter is often employed in embedded systems and architectures which support a high level of parallelization.
It is sufficient to implement only one part of the algorithm, which is then called twice, while performing a transposition of the resulting matrix.