vigra - Crack Edge Image

[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

Crack Edge Image |

Crack edges are marked between the pixels of an image. A Crack Edge Image is an image that represents these edges. In order to accommodate the cracks, the Crack Edge Image must be twice as large as the original image (precisely (2*w - 1) by (2*h - 1)). A Crack Edge Image can easily be derived from a binary image or from the signs of the response of a Laplacian filter. Consider the following sketch, where `+` encodes the foreground, `-` the background, and `*` the resulting crack edges.

sign of difference image insert cracks resulting CrackEdgeImage
+ . - . - . * . . .
+ - - . . . . . . * * * .
+ + - => + . + . - => . . . * .
+ + + . . . . . . . . * *
+ . + . + . . . . .

Starting from the original binary image (left), we insert crack pixels to get to the double-sized image (center). Finally, we mark all crack pixels whose non-crack neighbors have different signs as crack edge points, while all other pixels (crack and non-crack) become region pixels.

Requirements on a Crack Edge Image:

- Crack Edge Images have odd width and height.
- Crack pixels have at least one odd coordinate.
- Only crack pixels may be marked as edge points.
- Crack pixels with two odd coordinates must be marked as edge points whenever any of their neighboring crack pixels was marked.

The last two requirements ensure that both edges and regions are 4-connected. Thus, 4-connectivity and 8-connectivity yield identical connected components in a Crack Edge Image (so called well-composedness). This ensures that Crack Edge Images have nice topological properties (cf. L. J. Latecki: "Well-Composed Sets", Academic Press, 2000).

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.11.0 (Fri May 19 2017)