Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Label connected components in binary image

`L = bwlabeln(BW)`

`L = bwlabeln(BW,conn)`

`[L,n] = bwlabeln(___)`

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 other functions.Function Input Dimension Output Form Memory Use Connectivity `bwlabel`

2-D Label matrix with double-precision High 4 or 8 `bwlabeln`

N-D Double-precision label matrix High Any `bwconncomp`

N-D `CC`

structLow Any To extract features from a binary image using

`regionprops`

with default connectivity, just pass`BW`

directly into`regionprops`

, i.e.`regionprops(BW)`

.To compute a label matrix having a more memory-efficient data type (e.g.,

`uint8`

versus`double`

), use the`labelmatrix`

function on the output of`bwconncomp`

:C = bwconncomp(BW); L = labelmatrix(CC); CC = bwconncomp(BW,n); S = regionprops(CC);

`bwlabeln`

uses the following general procedure:

Scan all image pixels, assigning preliminary labels to nonzero pixels and recording label equivalences in a union-find table.

Resolve the equivalence classes using the union-find algorithm [1].

Relabel the pixels based on the resolved equivalence classes.

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

`bwconncomp`

| `bwlabel`

| `label2rgb`

| `labelmatrix`

| `regionprops`