Girish Mahajan (Editor)

Distance transform

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Distance transform

A distance transform, also known as distance map or distance field, is a derived representation of a digital image. The choice of the term depends on the point of view on the object in question: whether the initial image is transformed into another representation, or it is simply endowed with an additional map or field.

Distance fields can also be signed, in the case where it is important to distinguish whether the point is inside or outside of the shape.

The map labels each pixel of the image with the distance to the nearest obstacle pixel. A most common type of obstacle pixel is a boundary pixel in a binary image. See the image for an example of a chessboard distance transform on a binary image.

Usually the transform/map is qualified with the chosen metric. For example, one may speak of Manhattan distance transform, if the underlying metric is Manhattan distance. Common metrics are:

  • Euclidean distance
  • Taxicab geometry, also known as City block distance or Manhattan distance.
  • Chessboard distance
  • Applications are digital image processing (e.g., blurring effects, skeletonizing), motion planning in robotics, and even pathfinding.

    Uniformly-sampled signed distance fields have been used for GPU-accelerated font smoothing, for example by Valve Corporation researchers.

    Signed distance fields can also be used for (3D) solid modelling. Rendering on typical GPU hardware requires conversion to polygon meshes, e.g. by the marching cubes algorithm.

    The distance transform can also be used for font rendering using vectors instead of sampling from texture, as in the opensource project GLyphy.

    References

    Distance transform Wikipedia