ドキュメンテーション

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

bwlabeln

バイナリ イメージ内の連結要素をラベル付け

構文

L = bwlabeln(BW)
[L, NUM] = bwlabeln(BW)
[L, NUM] = bwlabeln(BW, conn)

説明

L = bwlabeln(BW) は、BW 内の連結要素のラベルを含むラベル行列 L を返します。入力イメージ BW の次元は任意ですが、LBW と同じサイズです。L の要素は、0 以上の整数値です。0 とラベル付けしたピクセルは背景になります。1 とラベル付けされたピクセルは 1 番目のオブジェクトを構成し、2 とラベル付けされたピクセルは 2 番目のオブジェクトを構成する、というように、次々にオブジェクトを構成します。既定の連結数は、2 次元の場合は 8、3 次元の場合は 26、高次元の場合は conndef(ndims(BW), 'maximal') です。

[L, NUM] = bwlabeln(BW) は、BW で検出される連結オブジェクトの数を NUM に返します。

[L, NUM] = bwlabeln(BW, conn) は、必要な連結数を指定します。conn は、以下の任意のスカラー値にできます。

意味

2 次元連結数

4

4 連結近傍

8

8 連結近傍

3 次元連結数

6

6 連結近傍

18

18 連結近傍

26

26 連結近傍

連結数は、conn01 を要素とする 3 × 3 × ... × 3 行列として使用することにより、任意の次元に対してより一般的に定義できます。1 を値とする要素により、conn の中心要素に対して近傍位置が定義されます。conn は、その中心要素に対して対称であることに注意してください。

関数 bwlabelbwlabelnbwconncomp はすべて、バイナリ イメージの連結要素を計算します。bwconncomp は、bwlabelbwlabeln を置き換えて使用できます。メモリ使用量が大幅に削減され、以前の関数より高速な場合もあります。

関数入力次元出力形式メモリの使用連結数
bwlabel2 次元倍精度ラベル行列4 または 8
bwlabelnN 次元倍精度ラベル行列任意
bwconncompN 次元CC 構造体任意

クラス サポート

BW は、論理値または数値を使用できますが、実数、非スパースでなければなりません。L は、double クラスになります。

3 次元オブジェクトの重心を計算します。

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

詳細

すべて展開する

ヒント

既定の連結数をもつ regionprops を使用してバイナリ イメージから特徴を抽出するには、BW を直接 regionprops (すなわち、regionprops(BW)) に渡します。

メモリ効率が高いデータ型 (たとえば、double に対して uint8) を使用してラベル行列を計算するには、bwconncomp の出力で関数 labelmatrix を使用します。

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

アルゴリズム

bwlabeln では、次の一般的な処理が使用されます。

  1. すべてのイメージ ピクセルをスキャンし、非ゼロ ピクセルに予備ラベルを割り当て、ラベル等価を和集合検出テーブルに記録します。

  2. 和集合検出アルゴリズム [1] を使用して、等価クラスを解決します。

  3. 対応済みの等価クラスに基づいて、ピクセルの再ラベル付けを行います。

参考文献

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

この情報は役に立ちましたか?