ドキュメンテーション

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

imregionalmax

説明

BW = imregionalmax(I) は、グレースケール イメージ I の中の局所的な最大値を識別するバイナリ イメージ BW を返します。局所的な最小値は、同じ強度値を持つ連結要素のピクセルで、この強度値より小さい値を持つピクセルで囲まれています。

オプションで、2 次元イメージの局所的な最大値の識別を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

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

すべて折りたたむ

いくつかの局所的な最大値をもつシンプルなサンプル イメージを作成します。

A = 10*ones(10,10);
A(2:4,2:4) = 22; 
A(6:8,6:8) = 33; 
A(2,7) = 44;
A(3,8) = 45;
A(4,9) = 44
A = 10×10

    10    10    10    10    10    10    10    10    10    10
    10    22    22    22    10    10    44    10    10    10
    10    22    22    22    10    10    10    45    10    10
    10    22    22    22    10    10    10    10    44    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    10    10    10    10    10

局所的な最大値を検出します。局所的な最大値は結果の (3,8) にも含まれていることに注意してください。

regmax = imregionalmax(A)
regmax = 10x10 logical array

   0   0   0   0   0   0   0   0   0   0
   0   1   1   1   0   0   0   0   0   0
   0   1   1   1   0   0   0   1   0   0
   0   1   1   1   0   0   0   0   0   0
   0   0   0   0   0   0   0   0   0   0
   0   0   0   0   0   1   1   1   0   0
   0   0   0   0   0   1   1   1   0   0
   0   0   0   0   0   1   1   1   0   0
   0   0   0   0   0   0   0   0   0   0
   0   0   0   0   0   0   0   0   0   0

2 つの局所的な最大値を含む 10 行 10 列のピクセルのサンプル イメージを作成します。

A = 10*gpuArray(ones(10,10));
A(2:4,2:4) = 22;    % maxima 12 higher than surrounding pixels
A(6:8,6:8) = 33;    % maxima 23 higher than surrounding pixels
A(2,7) = 44;
A(3,8) = 45;     % maxima 1 higher than surrounding pixels
A(4,9) = 44
A =

    10    10    10    10    10    10    10    10    10    10
    10    22    22    22    10    10    44    10    10    10
    10    22    22    22    10    10    10    45    10    10
    10    22    22    22    10    10    10    10    44    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    10    10    10    10    10

サンプル イメージ Aimregionalmax に渡します。関数は、A と同じサイズのバイナリ イメージを出力します。この中で値 1 をもつピクセルは、A の中の局所的な最大値を表しています。imregionalmax は、すべての他のピクセルを 0 に設定します。

regmax = imregionalmax(A)
regmax =

     0     0     0     0     0     0     0     0     0     0
     0     1     1     1     0     0     0     0     0     0
     0     1     1     1     0     0     0     1     0     0
     0     1     1     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     1     1     0     0
     0     0     0     0     0     1     1     1     0     0
     0     0     0     0     0     1     1     1     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0

入力引数

すべて折りたたむ

入力配列。任意の次元の数値配列として指定します。

GPU を使用して局所的な最大値を計算するには、I を 2 次元数値行列を含む gpuArray として指定します。

例: I = imread('cameraman.tif');

例: I = gpuArray(imread('cameraman.tif'));

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

ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は 2 次元イメージでは 8、3 次元イメージでは 26 です。

平均

2 次元連結性

4 連結

ピクセルのエッジの部分が接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向または垂直方向に隣接するピクセルです。

8 連結

ピクセルのエッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向、垂直方向または対角方向に隣接するピクセルです。

3 次元連結性

6 連結

面が接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

18 連結

面またはエッジが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

  • 右下または上の奥など、2 つの方向の組み合わせ

26 連結

面、エッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

  • 右下または上の奥など、2 つの方向の組み合わせ

  • 右上の奥または左下の奥など、3 つの方向の組み合わせ

高次元の場合、imregionalmax は既定値 conndef(ndims(I),'maximal') を使用します。

連結性は、01 から成る 3 × 3 × ... × 3 行列を指定し、任意の次元に対してより一般的に定義することもできます。1 の値を持つ要素は、conn の中心要素に対する近傍の位置を定義します。conn は、その中心要素に関して対称でなければなりません。詳細は、カスタム連結性の定義を参照してください。

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

出力引数

すべて折りたたむ

局所的な最大値の位置。I と同じサイズの logical 配列として返されます。値 1 のピクセルは、局所的な最大値を示し、他のすべてのピクセルは値 0 で設定されます。

GPU を使用して局所的な最大値を計算する場合、BWI と同じサイズの logical 行列を含む gpuArray として返されます。

データ型: logical

拡張機能

R2006a より前に導入