Main Content

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

bwareafilt

サイズによるバイナリ イメージからのオブジェクトの抽出

説明

BW2 = bwareafilt(BW,range) はバイナリ イメージ BW から面積が指定した range 内であるすべての連結要素 (オブジェクト) を抽出し、別のバイナリ イメージ BW2 を生成します。bwareafilt は基準を満たすオブジェクトのみを含むバイナリ イメージ BW2 を返します。

BW2 = bwareafilt(BW,n) は大きい方から数えて n 個目までのオブジェクトを保持します。n 番目のオブジェクトが複数ある場合は、最初から数えて n 個目までのオブジェクトのみが BW2 に保持されます。

BW2 = bwareafilt(BW,n,keep) は大きいほうから数えて n 個のオブジェクトを保持するか、小さいほうから数えて n 個のオブジェクトを保持するかを指定します。

BW2 = bwareafilt(___,conn) はオブジェクトを定義するピクセルの連結性を指定します。

すべて折りたたむ

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

BW = imread('text.png');

面積が 40 ~ 50 であるオブジェクトのみを保持するようにイメージをフィルター処理します。

BW2 = bwareafilt(BW,[40 50]);

元のイメージとフィルター処理されたイメージを並べて表示します。

imshowpair(BW,BW2,'montage')

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

BW = imread('text.png');

面積が大きいほうから数えて 5 番目までのオブジェクトのみを保持するようにイメージをフィルター処理します。

BW2 = bwareafilt(BW,5);

元のイメージとフィルター処理されたイメージを並べて表示します。

imshowpair(BW,BW2,'montage')

入力引数

すべて折りたたむ

フィルター処理されるイメージ。バイナリ イメージとして指定します。

データ型: logical

面積の最小値と最大値。[low high] の形式を持つ 2 要素の数値ベクトルとして指定します。

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

サイズを条件として image オブジェクトをフィルター処理する際に含めるオブジェクトの数。数値スカラーとして指定します。

データ型: double

出力イメージに含めるオブジェクトのサイズ。"largest" または "smallest" として指定します。n 番目のオブジェクトが複数ある場合、bwareafilt は、最初から数えて n 個目までのオブジェクトだけを含めます。

データ型: char | string

ピクセルの連結性。次のいずれかの値を指定します。

意味

2 次元連結性

4

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

Center pixel connected to four pixels

現在のピクセルを灰色で示します。

8

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

Center pixel connected to eight pixels

現在のピクセルを灰色で示します。

連結性は、01 から成る 3 行 3 列の行列を指定し、より一般的に定義することもできます。1 の値を持つ要素は、conn の中心要素に対する近傍の位置を定義します。この行列は、その中心要素に関して対称でなければなりません。

データ型: double | logical

出力引数

すべて折りたたむ

フィルター処理されたイメージ。入力イメージ BW と同じサイズおよびクラスのバイナリ イメージとして返されます。

拡張機能

バージョン履歴

R2014b で導入

すべて展開する