Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

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.

labelmatrix

Create label matrix from bwconncomp structure

Syntax

L = labelmatrix(CC)

Description

example

L = labelmatrix(CC) creates a label matrix, L, from the connected components structure CC returned by bwconncomp.

labelmatrix is more memory efficient than bwlabel and bwlabeln because it returns its label matrix in the smallest numeric class necessary for the number of objects.

Examples

collapse all

Read binary image into the workspace.

BW = imread('text.png');

Calculate the connected components, using bwconncomp .

CC = bwconncomp(BW);

Create a label matrix, using labelmatrix .

L = labelmatrix(CC);

For comparison, create a second label matrix, using bwlabel .

L2 = bwlabel(BW);

View both label matrices in the workspace. Note that labelmatrix is more memory efficient than bwlabel , using the smallest numeric class necessary for the number of objects.

whos L L2
  Name        Size              Bytes  Class     Attributes

  L         256x256             65536  uint8               
  L2        256x256            524288  double              

Display the label matrix as an RGB image, using label2rgb .

figure
imshow(label2rgb(L));

Input Arguments

collapse all

Connected components, specified as a structure with four fields.

FieldDescription
ConnectivityConnectivity of the connected components (objects)
ImageSizeSize of the binary image
NumObjectsNumber of connected components (objects) in the binary image.
PixelIdxList1-by-NumObjects cell array where the k-th element in the cell array is a vector containing the linear indices of the pixels in the k-th object.

Output Arguments

collapse all

Label matrix of contiguous regions, returned as matrix of nonnegative integers. 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 size of L is CC.ImageSize. The class of L depends on CC.NumObjects, as shown in the table.

ClassRange
'uint8'

CC.NumObjects 255

'uint16'

256 CC.NumObjects 65535

'uint32'

65536 CC.NumObjects 2321

'double'

CC.NumObjects 232

Data Types: double | uint8 | uint16 | uint32

Introduced in R2009a

Was this topic helpful?