Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

labelmatrix

bwconncomp 構造体からラベル行列を作成

説明

ラベル行列により、バイナリ イメージ内のオブジェクトまたは連結要素に一意の整数値でラベル付けします。ラベル行列を使用して、個々のオブジェクトまたは連結要素を可視化します。

L = labelmatrix(CC) は、bwconncomp で返される連結要素の構造体 CC からラベル行列 L を作成します。

すべて折りたたむ

バイナリ イメージをワークスペースに読み取ります。イメージを表示します。

BW = imread('text.png');
imshow(BW)

Figure contains an axes object. The axes object contains an object of type image.

bwconncomp を使用して連結要素を計算します。

CC = bwconncomp(BW);

labelmatrix を使用してラベル行列を作成します。各ラベルに一意の数値インデックスがあります。

L = labelmatrix(CC);

ラベル行列の最大値を求めます。この値は検出されたオブジェクト数を示しており、この場合は 88 です。

numObjects = max(L(:))
numObjects = uint8
    88

ラベル行列をイメージとして表示します。最大のラベル値は uint8 データ型の最大値よりもはるかに小さいので、イメージの表示範囲を拡大して、ラベルを区別しやすくします。

imshow(L,[])

Figure contains an axes object. The axes object contains an object of type image.

ラベル値が小さいと、ラベル付けされたオブジェクトを確認するのが困難になります。また、ラベル値が近いと、オブジェクトを識別するのが困難になります。異なる連結要素を識別しやすくするため、label2rgb を使用してラベル行列を RGB イメージとして表示し、ラベルの色の順序をシャッフルします。

imshow(label2rgb(L,'jet','k','shuffle'));

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

連結要素。4 つのフィールドを持つ構造体として指定します。

フィールド説明
Connectivity連結要素 (オブジェクト) の連結性
ImageSizeバイナリ イメージのサイズ
NumObjectsバイナリ イメージ内の連結要素 (オブジェクト) 数
PixelIdxList1 行 NumObjects 列の cell 配列。ここで、 cell 配列の k 番目の要素は k 番目のオブジェクトのピクセルの線形インデックスを含むベクトルです。

出力引数

すべて折りたたむ

連続領域のラベル行列。非負整数の行列として返されます。0 とラベル付けされたピクセルは背景です。1 とラベル付けされたピクセルは 1 番目のオブジェクトを構成し、2 とラベル付けされたピクセルは 2 番目のオブジェクトを構成する、というように、次々にオブジェクトを構成します。

L のサイズは CC.ImageSize フィールドの値によって決まります。L のクラスは連続領域の数によって異なります。表に示すように、labelmatrix はオブジェクト数 CC.NumObjects を表せる最小のクラスを使用します。

クラス範囲
'uint8'

CC.NumObjects 255

'uint16'

256 CC.NumObjects 65535

'uint32'

65536 CC.NumObjects 2321

'double'

CC.NumObjects 232

データ型: double | uint8 | uint16 | uint32

バージョン履歴

R2009a で導入