Kirsch operator

From HandWiki
Short description: Edge detector

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:

[math]\displaystyle{ h_{n,m}=\max_{z=1,\dots,8}\sum_{i=-1}^1\sum_{j=-1}^1g_{ij}^{(z)}\cdot f_{n+i,m+j} }[/math]

where z enumerates the compass direction kernels g:

[math]\displaystyle{ \mathbf{g^{(1)}} = \begin{bmatrix} +5 & +5 & +5 \\ -3 & 0 & -3 \\ -3 & -3 & -3 \end{bmatrix},\ }[/math][math]\displaystyle{ \mathbf{g^{(2)}} = \begin{bmatrix} +5 & +5 & -3 \\ +5 & 0 & -3 \\ -3 & -3 & -3 \end{bmatrix},\ }[/math][math]\displaystyle{ \mathbf{g^{(3)}} = \begin{bmatrix} +5 & -3 & -3 \\ +5 & 0 & -3 \\ +5 & -3 & -3 \end{bmatrix},\ }[/math][math]\displaystyle{ \mathbf{g^{(4)}} = \begin{bmatrix} -3 & -3 & -3 \\ +5 & 0 & -3 \\ +5 & +5 & -3 \end{bmatrix} }[/math] and so on.

The edge direction is defined by the mask that produces the maximum edge magnitude.

Example images

References

  • Kirsch, R. (1971). "Computer determination of the constituent structure of biological images". Computers and Biomedical Research 4 (3): 315–328. doi:10.1016/0010-4809(71)90034-6.