Image Processing Toolbox User's Guide Previous page   Next Page
bwlabeln

Label connected components in N-D binary image

Syntax

Description

L = bwlabeln(BW) returns a label matrix L containing labels for the connected components in BW. BW can have any dimension; L is the same size as BW. The elements of L are integer values greater than or equal to 0. The pixels labeled 0 are the background. The pixels labeled 1 make up one object, the pixels labeled 2 make up a second object, and so on. The default connectivity is 8 for two dimensions, 26 for three dimensions, and conndef(ndims(BW), 'maximal') for higher dimensions.

[L,NUM] = bwlabeln(BW) returns in NUM the number of connected objects found in BW.

[L,NUM] = bwlabeln(BW,CONN) specifies the desired connectivity. CONN can have any of the following scalar values.

Value
Meaning
Two-dimensional connectivities
4
4-connected neighborhood
8
8-connected neighborhood
Three-dimensional connectivities
6
6-connected neighborhood
18
18-connected neighborhood
26
26-connected neighborhood

Connectivity can also be defined in a more general way for any dimension by using for CONN a 3-by-3-by- ...-by-3 matrix of 0's and 1's. The 1-valued elements define neighborhood locations relative to the center element of CONN. Note that CONN must be symmetric about its center element.

Remarks

bwlabel supports 2-D inputs only; bwlabeln supports inputs of any dimension. In some cases, you might prefer to use bwlabeln even for 2-D problems because it can be faster. If you have a 2-D input whose objects are relatively thick in the vertical direction, bwlabel is probably faster; otherwise bwlabeln is probably faster.

Class Support

BW can be numeric or logical, and it must be real and nonsparse. L is of class double.

Example

Algorithm

bwlabeln uses the following general procedure:

  1. Scan all image pixels, assigning preliminary labels to nonzero pixels and recording label equivalences in a union-find table.
  2. Resolve the equivalence classes using the union-find algorithm [1].
  3. Relabel the pixels based on the resolved equivalence classes.

See Also

bwlabel, label2rgb

Reference

[1]  Sedgewick, Robert, Algorithms in C, 3rd Ed., Addison-Wesley, 1998, pp. 11-20.


Previous page  bwlabel bwmorph Next page

© 1994-2005 The MathWorks, Inc.