Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

labelmatrix

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

説明

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

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

すべて折りたたむ

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

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

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

CC = bwconncomp(BW);

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

L = labelmatrix(CC);

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

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

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

imshow(L,[])

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

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

入力引数

すべて折りたたむ

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

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

出力引数

すべて折りたたむ

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

L のサイズは CC.ImageSize です。L のクラスは表に示すように、場合によって異なります。L は表に示すように、オブジェクト数 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 で導入