In image processing, a Robinson compass mask is a type of compass mask used for edge detection. It has eight major compass orientations,[1] each will extract the edges in respect to its direction. A combined use of compass masks of different directions could detect the edges from different angles.
The Robinson compass mask[2] is defined by taking a single mask and rotating it to form eight orientations:
North:\begin{bmatrix} -1&0&1\\ -2&0&2\\ -1&0&1 \end{bmatrix}
NorthWest:\begin{bmatrix} 0&1&2\\ -1&0&1\\ -2&-1&0 \end{bmatrix}
West:\begin{bmatrix} 1&2&1\\ 0&0&0\\ -1&-2&-1 \end{bmatrix}
SouthWest:\begin{bmatrix} 2&1&0\\ 1&0&-1\\ 0&-1&-2 \end{bmatrix}
South:\begin{bmatrix} 1&0&-1\\ 2&0&-2\\ 1&0&-1 \end{bmatrix}
SouthEast:\begin{bmatrix} 0&-1&-2\\ 1&0&-1\\ 2&1&0 \end{bmatrix}
East:\begin{bmatrix} -1&-2&-1\\ 0&0&0\\ 1&2&1 \end{bmatrix}
NorthEast:\begin{bmatrix} -2&-1&0\\ -1&0&1\\ 0&1&2 \end{bmatrix}
The direction axis[3] is the line of zeros in the matrix. Robinson compass mask is similar to kirsch compass masks, but is simpler to implement. Since the matrix coefficients only contains 0, 1, 2, and are symmetrical, only the results of four masks[4] need to be calculated, the other four results are the negation of the first four results. An edge, or contour is an tiny area with neighboring distinct pixel values. The convolution of each mask with the image would create a high value output where there is a rapid change of pixel value, thus an edge point is found. All the detected edge points would line up as edges.
An example of Robinson compass masks applied to the original image. Obviously, the edges in the direction of the mask is enhanced.