このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
imimposemin
最小値を挿入
説明
例
ある地点への局所的最小値の挿入
この例では、ある領域を常に局所的な最小値にするようにイメージを変更する方法を説明します。
イメージを読み取り、それを表示します。次のイメージは、"マスク" イメージと呼ばれています。
mask = imread('glass.png');
imshow(mask)
マスク イメージと同じサイズのバイナリ イメージを作成し、バイナリ イメージの小領域を 1 に設定します。これらのピクセルは、局所的な最小値が挿入されるマスク イメージ内の位置を定義します。得られたイメージは、"マーカー" イメージと呼びます。
marker = false(size(mask)); marker(65:70,65:70) = true;
対象となるこれらのピクセルが元のイメージ上に位置する場所を示すため、マスクの上にマーカーを重ね合わせます。小さい白色の正方形は、スポットを意味します。次のコードは、本質的には、最小化演算を強制するものではありません。
J = mask;
J(marker) = 255;
figure
imshow(J)
title('Marker Image Superimposed on Mask')
関数 imimposemin
を使用して、入力イメージ上に地域的な最小値を強制的に配置します。ここで、元のイメージのマーカー領域以外の暗い領域がどのように明るくなるかに注意してください。
K = imimposemin(mask,marker); figure imshow(K)
次の演算では、強制的に最小にした部分を除いて、元のイメージの中のすべての極小値をどのように除去するかを示すために、元のイメージの中の局所的な最小値と処理イメージの中の局所的な最小値とを比較します。これらは、両方のイメージで、局所的な最小値のすべての位置を設定するバイナリ イメージを返す関数 imregionalmin
を呼び出します。
BW = imregionalmin(mask); figure subplot(1,2,1) imshow(BW) title('Regional Minima in Original Image') BW2 = imregionalmin(K); subplot(1,2,2) imshow(BW2) title('Regional Minima After Processing')
入力引数
I
— グレースケール マスク イメージ
数値配列
グレースケール マスク イメージ。任意の次元の数値配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BW
— バイナリ マーカー イメージ
数値配列 | logical 配列
バイナリ マーカー イメージ。グレースケール マスク イメージ I
と同じサイズの数値配列または logical 配列として指定します。数値入力の場合、非ゼロのピクセルは 1
(true
) であると見なされます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
conn
— ピクセルの連結性
4
| 8
| 6
| 18
| 26
| 0
と 1
から成る 3 x 3 x ... x 3 の行列
ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は 2 次元イメージでは 8
、3 次元イメージでは 26
です。
値 | 意味 | |
---|---|---|
2 次元連結性 | ||
| ピクセルのエッジの部分が接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向または垂直方向に隣接するピクセルです。 |
現在のピクセルを灰色で示します。 |
| ピクセルのエッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向、垂直方向または対角方向に隣接するピクセルです。 |
現在のピクセルを灰色で示します。 |
3 次元連結性 | ||
| 面が接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。
|
現在のピクセルを灰色で示します。 |
| 面またはエッジが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。
|
現在のピクセルは立方体の中心です。 |
| 面、エッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。
|
現在のピクセルは立方体の中心です。 |
高次元の場合、imimposemin
は既定値
を使用します。conndef
(ndims(I),"maximal")
連結性は、0
と 1
から成る 3 × 3 × ... × 3 行列を指定し、任意の次元に対してより一般的に定義することもできます。1
の値を持つ要素は、conn
の中心要素に対する近傍の位置を定義します。conn
は、その中心要素に関して対称でなければなりません。詳細については、カスタム連結性の定義を参照してください。
データ型: double
| logical
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
imimposemin
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。imimposemin
は 2 次元のマスク イメージとマーカー イメージのみをサポートします。引数
conn
はコンパイル時の定数でなければなりません。サポートされる連結性は4
または8
のみです。連結性は 3 行 3 列の行列として指定することもできますが、[0 1 0;1 1 1;0 1 0]
またはones(3)
に限られます。
バージョン履歴
R2006a より前に導入R2023b: C コード生成のサポート
imimposemin
は、C コードの生成をサポートするようになりました (MATLAB Coder が必要)。
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)