Kirsch operator
From The Right Wiki
Jump to navigationJump to search
The Kirsch operator or Kirsch compass kernel is a non-linear edge detector that finds the maximum edge strength in a few predetermined directions. It is named after the computer scientist Russell Kirsch.
Mathematical description
The operator takes a single kernel mask and rotates it in 45 degree increments through all 8 compass directions: N, NW, W, SW, S, SE, E, and NE. The edge magnitude of the Kirsch operator is calculated as the maximum magnitude across all directions:
where z enumerates the compass direction kernels g:
- Failed to parse (syntax error): {\displaystyle \mathbf{g^{(1)}} = \begin{bmatrix} +5 & +5 & +5 \\ -3 & 0 & -3 \\ -3 & -3 & -3 \end{bmatrix},\ } Failed to parse (syntax error): {\displaystyle \mathbf{g^{(2)}} = \begin{bmatrix} +5 & +5 & -3 \\ +5 & 0 & -3 \\ -3 & -3 & -3 \end{bmatrix},\ } Failed to parse (syntax error): {\displaystyle \mathbf{g^{(3)}} = \begin{bmatrix} +5 & -3 & -3 \\ +5 & 0 & -3 \\ +5 & -3 & -3 \end{bmatrix},\ } and so on.
The edge direction is defined by the mask that produces the maximum edge magnitude.
Example images
-
Original
-
Maximum gradient in the 8 directions
-
Image filtered with g(1)
-
Image filtered with g(2)
-
Image filtered with g(3)
-
Image filtered with g(4)
-
Image filtered with g(5)
-
Image filtered with g(6)
-
Image filtered with g(7)
-
Image filtered with g(8)
References
- Kirsch, R. (1971). "Computer determination of the constituent structure of biological images". Computers and Biomedical Research. 4 (3): 315–328. CiteSeerX 10.1.1.161.956. doi:10.1016/0010-4809(71)90034-6.