Distance transform of binary image

computes the Euclidean distance transform of the binary image `D`

= bwdist(`BW`

)`BW`

.
For each pixel in `BW`

, the distance transform assigns a number
that is the distance between that pixel and the nearest nonzero pixel of
`BW`

.

You optionally can compute the Euclidean distance transform of a 2-D binary image

`bwdist`

uses fast algorithms to compute the true Euclidean distance transform, especially in the 2-D case. The other methods are provided primarily for pedagogical reasons. However, the alternative distance transforms are sometimes significantly faster for multidimensional input images, particularly those that have many nonzero elements.The function

`bwdist`

changed in version 6.4 (R2009b). Previous versions of the Image Processing Toolbox used different algorithms for computing the Euclidean distance transform and the associated label matrix. If you need the same results produced by the previous implementation, use the function`bwdist_old`

.

For Euclidean distance transforms,

`bwdist`

uses the fast algorithm. [1]For cityblock, chessboard, and quasi-Euclidean distance transforms,

`bwdist`

uses the two-pass, sequential scanning algorithm. [2]The different distance measures are achieved by using different sets of weights in the scans, as described in [3].

[1] Maurer, Calvin, Rensheng Qi,
and Vijay Raghavan, "A Linear Time Algorithm for Computing Exact Euclidean Distance
Transforms of Binary Images in Arbitrary Dimensions," *IEEE Transactions on
Pattern Analysis and Machine Intelligence*, Vol. 25, No. 2, February
2003, pp. 265-270.

[2] Rosenfeld, Azriel and John
Pfaltz, "Sequential operations in digital picture processing," *Journal of the
Association for Computing Machinery*, Vol. 13, No. 4, 1966, pp.
471-494.

[3] Paglieroni, David, "Distance
Transforms: Properties and Machine Vision Applications," *Computer Vision,
Graphics, and Image Processing: Graphical Models and Image Processing*,
Vol. 54, No. 1, January 1992, pp. 57-58.