ドキュメンテーション

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

imimposemin

最小値を挿入

構文

I2 = imimposemin(I,BW)
I2 = imimposemin(I,BW,conn)

説明

I2 = imimposemin(I,BW) は、モルフォロジー再構成法を使用して強度イメージ I を変更し、BW がゼロでない部分を局所的な最小値にします。BW は、I と同じサイズのバイナリ イメージです。

既定の設定では、imimposemin は、2 次元イメージに対して 8 連結近傍を使用し、3 次元イメージに対して 26 連結近傍を使用します。高次元に対しては、imimposeminconndef(ndims(I),'minimum') を使用します。

I2 = imimposemin(I,BW,conn) は、連結性を指定します。ここで、conn は、次のスカラー値を使用します。

意味

2 次元連結性

4

4 連結近傍

8

8 連結近傍

3 次元連結性

6

6 連結近傍

18

18 連結近傍

26

26 連結近傍

連結性は、conn01 を要素とする 3 × 3 × ... × 3 行列として使用することにより、任意の次元に対して一般的に定義できます。値 1 をもつ要素は、conn の中心要素を基準に近傍の位置を定義します。conn は、その中心要素に関して対称でなければなりません。

クラス サポート

I は、非スパース数値クラスで任意の次元です。BW は、非スパースで、I と同じサイズの数値配列でなければなりません。I2 のサイズとクラスは、I と同じです。

イメージをある 1 つの位置で局所的な最小値のみをもつよう変更します。

  1. イメージを読み取り、それを表示します。次のイメージは、"マスク" イメージと呼ばれています。

    mask = imread('glass.png');
    imshow(mask)

  2. マスク イメージを処理するために使用するマーカー イメージを作成します。

    例は、マスク イメージと同じサイズのバイナリ イメージを作成し、バイナリ イメージの小さい領域を 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');

  3. 関数 imimposemin を使用して、入力イメージ上に地域的な最小値を強制的に配置します。

    関数 imimposemin は、指定した位置で最小になるように、マーカー イメージと共 に、マスク イメージのモルフォロジー再構成したものを使います。ここで、元のイメージのマーカー領域以外の暗い部分がどのように明るくなるかに注意してください。

    K = imimposemin(mask,marker);
    figure, imshow(K);

  4. 次の演算では、強制的に最小にした部分を除いて、元のイメージの中のすべての極小値をどのように除去するかを示すために、元のイメージの中の局所的な最小値と処理イメージの中の局所的な最小値とを比較します。これらは、両方のイメージで、局所的な最小値のすべての位置を設定するバイナリ イメージを返す関数 imregionalmin を呼び出します。

    BW = imregionalmin(mask);
    figure, imshow(BW);  
    title('Regional Minima in Original Image');
    BW2 = imregionalmin(K);
    figure, imshow(BW2); 
    title('Regional Minima After Processing');

アルゴリズム

imimposemin は、モルフォロジー再構成をベースにした技術を使用しています。

R2006a より前に導入

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