bwlabeln() - Image Processing
L = bwlabeln(BW) returns
a label matrix, L, containing labels for the connected
components in BW. The input image 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.ValueMeaning
Two-dimensional
connectivities
44-connected neighborhood
88-connected neighborhood
Three-dimensional
connectivities
66-connected neighborhood
1818-connected neighborhood
2626-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 0s and 1s. The 1-valued
elements define neighborhood locations relative to the central element
of conn. Note that conn must
be symmetric about its central element.The functions bwlabel, bwlabeln,
and bwconncomp all compute connected components
for binary images. bwconncomp replaces the use
of bwlabel and bwlabeln. It
uses significantly less memory and is sometimes faster than the older
functions.FunctionInput
DimensionOutput FormMemory UseConnectivity
bwlabel2-DDouble-precision label matrixHigh4 or 8
bwlabelnN-DDouble-precision label matrixHighAny
bwconncompN-DCC structLowAny
Syntax
L = bwlabeln(BW)[L, NUM] = bwlabeln(BW)[L, NUM] = bwlabeln(BW, conn)
Example
BW = cat(3, [1 1 0; 0 0 0; 1 0 0],...
[0 1 0; 0 0 0; 0 1 0],...
[0 1 1; 0 0 0; 0 0 1])
bwlabeln(BW)
ans(:,:,1) =
1 1 0
0 0 0
2 0 0
ans(:,:,2) =
0 1 0
0 0 0
0 2 0
ans(:,:,3) =
0 1 1
0 0 0
0 0 2
Output / Return Value
Limitations
Alternatives / See Also
Reference