主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

bwconncomp

バ@ @ナリ@ @メ@ @ジ内の連結要素を検出

説明

CC= bwconncomp (BWは,バ@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @BWで検出された連結要素CCを返します。bwconncompは既定の連結性として,2次元の場合は8,3次元の場合は26,高次元の場合はconndef (ndims (BW),“最大”)を使用します。

CC= bwconncomp (BW康涅狄格州は連結要素を返します。ここで,康涅狄格州は連結要素の必要な連結性を指定します。

すべて折りたたむ

3次元配列の小さいサンプルを作成します。

BW = cat(3, [1 10 0;0 0 0;10 0 0],...[0 10 0;0 0 0;0 10 0],...[0 1 1;0 0 0;0 0 1]);

配列内の連結要素を検出します。

CC = bwconncomp(BW)
CC =带字段的结构:连接性:26 ImageSize: [3 3 3] NumObjects: 2 PixelIdxList: {[5x1 double] [3x1 double]}

配列内のオブジェクトの重心を計算します。

S = regionprops(CC,“重心”
S =2×1包含字段的struct数组:重心

BW = imread(“text.png”);imshow (BW)

图中包含一个轴对象。axis对象包含一个image类型的对象。

メ,ジ内の連結要素の数を検出します。

CC = bwconncomp(BW)
CC =带字段的结构:连接性:8 ImageSize: [256 256] NumObjects: 88 PixelIdxList: {1x88 cell}

(すべてのピクセルを0に設定します)。

numPixels = cellfun(@ nummel,CC.PixelIdxList);[最大,idx] = max(numPixels);BW(CC.PixelIdxList{idx}) = 0;

メ,ジを表示します。最大の要素は不同的という語の連続する2のfとなっています。

图imshow (BW)

图中包含一个轴对象。axis对象包含一个image类型的对象。

入力引数

すべて折りたたむ

入力バ@ @ナリ@ @メ@ @ジ。任意の次元の数値配列または logical 配列として指定します。数値入力の場合、非ゼロのピクセルはであると見なされます。

例:BW = imread('text.png');

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は2次元8, 3次元メジでは26です。

平均

2 次元連結性

4 連結

ピクセルのエッジの部分が接触している場合,ピクセルは連結されます。2つの隣り合ったピクセルは両方とも”“の場合に同じオブジェクトの一部であり,水平方向または垂直方向に連結します。

8 連結

ピクセルのエッジまたはコ,ナ,が接触している場合,ピクセルは連結されます。2つの隣り合ったピクセルは両方とも”“の場合に同じオブジェクトの一部であり,水平方向,垂直方向または対角方向に連結します。

3 次元連結性

6 連結

面が接触している場合,ピクセルは連結されます。2つの隣り合ったピクセルは両方とも”“の場合に同じオブジェクトの一部であり,次のように連結します。

  • 次のいずれかの方向:奥,手前,左,右,上および下

18 連結

面またはエッジが接触している場合,ピクセルは連結されます。2つの隣り合ったピクセルは両方とも”“の場合に同じオブジェクトの一部であり,次のように連結します。

  • 次のいずれかの方向:奥,手前,左,右,上および下

  • 右下または上の奥など,2の方向の組み合わせ

26 連結

面,エッジまたはコ,ナ,が接触している場合,ピクセルは連結されます。2つの隣り合ったピクセルは両方とも”“の場合に同じオブジェクトの一部であり,次のように連結します。

  • 次のいずれかの方向:奥,手前,左,右,上および下

  • 右下または上の奥など,2の方向の組み合わせ

  • 右上の奥または左下の奥など,3の方向の組み合わせ

高次元の場合,bwconncompは既定値conndef(ndims (BW),“最大”)を使用します。

連結性は,01から成る3 × 3 ×…× 3行列を指定し,任意の次元に対してより一般的に定義することもできます。1の値を持要素は,康涅狄格州の中心要素に対する近傍の位置を定義します。康涅狄格州は,その中心要素に関して対称でなければなりません。詳細にいては,カスタム連結性の定義を参照してください。

デ,タ型:|逻辑

出力引数

すべて折りたたむ

連結要素。4つのフィールドをもつ構造体として返されます。

フィ,ルド 説明
连接 連結要素(オブジェクト)の連結性
图象尺寸 BWのサereplicationズ
NumObjects BWの連結要素(オブジェクト)の数
PixelIdxList 1 行NumObjects列のcell配列。ここで,cell 配列のk番目の要素はk番目のオブジェクトのピクセルの線形@ @ンデックスを含むベクトルです。

ヒント

  • 関数bwlabelbwlabelnbwconncompはすべて,バ@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @bwconncompは,bwlabelbwlabelnを置き換えて使用できます。メモリ使用量が大幅に削減され,他の関数より高速な場合もあります。

    関数 入力次元 出力形式 メモリの使用 連結性
    bwlabel 2 次元 倍精度をもラベル行列 4または
    bwlabeln N次元 倍精度ラベル行列 任意
    bwconncomp N次元 CC構造体 任意
  • 既定の連結性を持regionpropsを使用してバナリメジから特徴を抽出するには,regionprops (BW)コマンドを使用してBWを直接regionpropsに渡します。

  • メモリ効率が高いデ,タ型(たとえば,に対してuint8)を使用してラベル行列を計算するには,bwconncompの出力で関数labelmatrixを使用します。詳細にいては,ドキュメンテションの各関数の説明を参照してください。

アルゴリズム

連結要素を見ける基本的な手順は以下のとおりです。

  1. 次のラベル付けされていないピクセルpを探索します。

  2. 塗りぶしアルゴリズムを使用して,pを含んでいる連結要素内のすべてのピクセルにラベルを付けます。

  3. すべてのピクセルがラベル付けされるまで,手順1と2を繰り返します。

拡張機能

バ,ジョン履歴

R2009aで導入