ドキュメンテーション

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

bwareafilt

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

構文

BW2 = bwareafilt(BW,range)
BW2 = bwareafilt(BW,n)
BW2 = bwareafilt(BW,n,keep)

説明

BW2 = bwareafilt(BW,range) はバイナリ イメージ BW から面積が range 内であるすべての連結要素 (オブジェクト) を抽出し、別のバイナリ イメージ BW2 を生成します。 range は最小サイズと最大サイズ (それぞれ等値を含む) からなる 2 行 1 列のベクトルです。bwareafilt はこの条件を満たさないオブジェクトを削除します。既定の連結性は 8 です。

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

BW2 = bwareafilt(BW,n,keep) は、keep'largest' (既定の設定) の場合には大きい方から数えて n 個目までのオブジェクトを保持し、keep'smallest' の場合には小さい方から数えて n 個目までのオブジェクトを保持します。

すべて折りたたむ

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

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 行 1 列の数値ベクトルとして指定します。

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

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

データ型: double

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

データ型: char

出力引数

すべて折りたたむ

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

R2014b で導入

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