ドキュメンテーション

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

bwareaopen

バイナリ イメージからの小さなオブジェクトの削除

構文

BW2 = bwareaopen(BW,P)
BW2 = bwareaopen(BW,P,conn)

説明

BW2 = bwareaopen(BW,P) は、P ピクセルより少ないすべての連結要素 (オブジェクト) をバイナリ イメージ BW から削除し、別のバイナリ イメージ BW2 を生成します。既定の連結性は、2 次元の場合は 8、3 次元の場合は 26、高次元の場合は conndef(ndims(BW), 'maximal') です。この操作は、"領域解放" と呼ばれています。

BW2 = bwareaopen(BW,P,conn) は、すべての連結要素を削除し、conn は必要な連結性を指定します。

すべて折りたたむ

バイナリ イメージを読み取ります。

BW = imread('text.png');

関数 bwareaopen を使用して、ピクセル数が 50 ピクセル未満のオブジェクトを削除します。

BW2 = bwareaopen(BW, 50);

元のイメージの横にモルフォロジー オープン処理が行われたイメージを表示します。

imshowpair(BW,BW2,'montage')

入力引数

すべて折りたたむ

バイナリ イメージ。任意の次元の非スパースの論理配列または数値配列として指定します。

例: BW2 = bwareaopen(BW, 50);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

オブジェクト内の最大ピクセル数。非負、整数値の数値スカラーとして指定します。

例: BW2 = bwareaopen(BW, 50);

データ型: double

連結性。次のいずれかの数値スカラーとして指定します。

意味

2 次元連結性

4

4 連結近傍

8

8 連結近傍

3 次元連結性

6

6 連結近傍

18

18 連結近傍

26

26 連結近傍

連結性は、01 から成る 3 × 3 × ... × 3 行列を指定し、任意の次元に対してより一般的に定義することもできます。1 の値をもつ要素は、conn の中心要素に対する近傍の位置を定義します。conn は、その中心要素に対して対称であることに注意してください。

例: BW2 = bwareaopen(BW, 50, 4);

データ型: double | logical

出力引数

すべて折りたたむ

モルフォロジー オープン処理が行われたイメージ。BW と同じサイズの非スパース論理配列として指定します。

アルゴリズム

基本的なステップは、次のとおりです。

  1. 連結要素は、以下のように判断します。

    CC = bwconncomp(BW, conn);
  2. 各成分の面積を計算します。

    S = regionprops(CC, 'Area');
  3. 小さいオブジェクトは、以下のように削除します。

    L = labelmatrix(CC);
    BW2 = ismember(L, find([S.Area] >= P));
    

拡張機能

R2006a より前に導入

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