Main Content

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

bwpropfilt

バイナリ イメージからプロパティを使用してオブジェクトを抽出

説明

BW2 = bwpropfilt(BW,attrib,range) はバイナリ イメージ BW からプロパティ attrib の値が指定した range 内であるすべての連結要素 (オブジェクト) を抽出します。bwpropfilt は基準を満たすオブジェクトのみを含むバイナリ イメージ BW2 を返します。

BW2 = bwpropfilt(BW,attrib,n) は指定された attrib プロパティの値に基づいてオブジェクトを並べ替え、大きい方から数えて n 個目までのオブジェクトのみを含むバイナリ イメージを返します。n 番目のオブジェクトが複数ある場合、bwpropfilt は、最初から数えて n 個目までのオブジェクトだけを BW2 に保持します。

BW2 = bwpropfilt(BW,attrib,n,keep) はプロパティ attrib で並べ替えたときに大きいほうから数えて n 個のオブジェクトを保持するか、小さいほうから数えて n 個のオブジェクトを保持するかを指定します。

BW2 = bwpropfilt(BW,I,attrib,___) はグレースケール イメージ I の強度値と attrib プロパティに基づいてオブジェクトを並べ替えます。

BW2 = bwpropfilt(BW,___,conn) はピクセルの連結性 conn を指定します。

すべて折りたたむ

イメージを読み取り、それを表示します。

BW = imread('text.png');
figure
imshow(BW)
title('Original Image')

Figure contains an axes object. The axes object with title Original Image contains an object of type image.

フィルター処理を使用して、元のイメージ内に存在する穴のない領域のみを含む別のイメージを作成します。これらの領域のオイラー数プロパティは 1 に等しくなります。フィルター処理されたイメージを表示します。

BW2 = bwpropfilt(BW,'EulerNumber',[1 1]);
figure
imshow(BW2)
title('Regions with Euler Number == 1')

Figure contains an axes object. The axes object with title Regions with Euler Number == 1 contains an object of type image.

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

BW = imread('text.png');

最大の周囲長をもつ 10 個のオブジェクトをイメージから検出し、フィルター処理されたイメージを表示します。

BW2 = bwpropfilt(BW,'perimeter',10);
figure;
imshow(BW2)
title('Objects with the Largest Perimeters')

Figure contains an axes object. The axes object with title Objects with the Largest Perimeters contains an object of type image.

入力引数

すべて折りたたむ

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

データ型: logical

フィルター条件として指定する属性の名前。以下のいずれかの値として指定します。これらの属性の詳細については、関数 regionprops を参照してください。

AreaEulerNumberMinorAxisLength
ConvexAreaExtentOrientation
EccentricityFilledAreaPerimeter
EquivDiameterMajorAxisLengthSolidity

グレースケール イメージを指定する場合、attrib にはさらに以下のいずれかの値を指定できます。

MaxIntensityMeanIntensityMinIntensity

データ型: char | string

プロパティの最小値と最大値。[low high] の形式を持つ 2 行 1 列の数値ベクトルとして指定します。

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

返すオブジェクトの数。正の整数として指定します。

データ型: double

保持するオブジェクト。'largest' または 'smallest' に指定します。

データ型: char | string

マーカー イメージ。入力バイナリ イメージと同じサイズのグレースケール イメージとして指定します。グレースケール イメージの強度値によって入力バイナリ イメージ内の領域が定義されます。

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

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

平均

2 次元連結性

4 連結

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

8 連結

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

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

データ型: double | logical

出力引数

すべて折りたたむ

フィルター処理されたイメージ。BW と同じサイズのバイナリ イメージとして返されます。

バージョン履歴

R2014b で導入