このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
bwareaopen
バイナリ イメージからの小さなオブジェクトの削除
説明
例
ピクセル数が 50 ピクセル未満のイメージ内のオブジェクトの削除
バイナリ イメージを読み取ります。
BW = imread('text.png');
関数 bwareaopen
を使用して、ピクセル数が 50 ピクセル未満のオブジェクトを削除します。
BW2 = bwareaopen(BW, 50);
元のイメージの横にモルフォロジー オープニングが行われたイメージを表示します。
imshowpair(BW,BW2,'montage')
入力引数
BW
— バイナリ イメージ
logical 配列 | 数値配列
バイナリ イメージ。任意の次元の logical 配列または数値配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
P
— オブジェクト内の最大ピクセル数。
非負の整数
オブジェクト内の最大ピクセル数。非負の整数として指定します。
例: 50
データ型: double
conn
— ピクセルの連結性
4
| 8
| 6
| 18
| 26
| 0
と 1
から成る 3 x 3 x ... x 3 の行列
ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は 2 次元イメージでは 8
、3 次元イメージでは 26
です。
値 | 平均 | |
---|---|---|
2 次元連結性 | ||
| ピクセルのエッジの部分が接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、水平方向または垂直方向に連結します。 |
現在のピクセルを灰色で示します。 |
| ピクセルのエッジまたはコーナーが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、水平方向、垂直方向または対角方向に連結します。 |
現在のピクセルを灰色で示します。 |
3 次元連結性 | ||
| 面が接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。
|
現在のピクセルは立方体の中心です。 |
| 面またはエッジが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。
|
現在のピクセルは立方体の中心です。 |
| 面、エッジまたはコーナーが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。
|
現在のピクセルは立方体の中心です。 |
高次元の場合、bwareaopen
は既定値
を使用します。conndef
(ndims(BW),'maximal')
連結性は、0
と 1
から成る 3 × 3 × ... × 3 行列を指定し、任意の次元に対してより一般的に定義することもできます。1
の値を持つ要素は、conn
の中心要素に対する近傍の位置を定義します。conn
は、その中心要素に関して対称でなければなりません。詳細については、カスタム連結性の定義を参照してください。
データ型: double
| logical
アルゴリズム
基本的なステップは、次のとおりです。
連結要素は、以下のように判断します。
CC = bwconncomp(BW, conn);
各成分の面積を計算します。
S = regionprops(CC, 'Area');
小さいオブジェクトは、以下のように削除します。
L = labelmatrix(CC); BW2 = ismember(L, find([S.Area] >= P));
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
bwareaopen
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。BW
は 2 次元バイナリ イメージでなければなりません。N 次元配列はサポートされません。conn
は 2 次元連結性 (4 または 8) または 3 行 3 列の行列のいずれかに限られます。3 次元連結性 (6、18 および 26) はサポートされません。サイズが 3 x 3 x ... x 3 の行列はサポートされません。conn
はコンパイル時の定数でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
BW
は 2 次元バイナリ イメージでなければなりません。N 次元配列はサポートされません。conn
は 2 次元連結性 (4 または 8) または 3 行 3 列の行列のいずれかでなければなりません。3 次元連結性 (6、18 および 26) はサポートされません。サイズが 3 x 3 x ... x 3 の行列はサポートされません。conn
はコンパイル時の定数でなければなりません。
バージョン履歴
R2006a より前に導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)