Trace the boundaries of the objects in a binary image.
boundaries is a cell array in which each element is the boundary of an
object in the binary image BW. The clockwise boundary of each object is
computed by the boundary
function.
By default the boundaries are computed using 8-connectivity. This can be changed to 4-connectivity by setting conn to 4.
By default bwboundaries
computes all boundaries in the image, i.e.
both interior and exterior object boundaries. This behaviour can be changed
through the holes input argument. If this is 'holes',
both boundary types are considered. If it is instead 'noholes', only exterior
boundaries will be traced.
If two or more output arguments are requested, the algorithm also returns
the labelled image computed by bwlabel
in labels. The number
of labels in this image is optionally returned in num_labels.
See also: bwlabel, bwlabeln, bwperim, fchcode.
The following code
## Generate a simple image bw = false (100); bw (10:30, 40:80) = true; bw (40:45, 40:80) = true; ## Find boundaries bounds = bwboundaries (bw); ## Plot result imshow (bw); hold on for k = 1:numel (bounds) plot (bounds {k} (:, 2), bounds {k} (:, 1), 'r', 'linewidth', 2); endfor hold off
Produces the following figure
Figure 1 |
---|
Package: image