ドキュメンテーション

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

imregionalmax

構文

BW = imregionalmax(I)
BW = imregionalmax(I,conn)
gpuarrayBW = imregionalmax(gpuarrayI,___)

説明

BW = imregionalmax(I) は、I の中の局所的な最大値を識別するバイナリ イメージ BW を出力します。局所的な最大値は、一定の強度値 t をもつピクセルの連結要素で、その外側の境界のピクセル値はすべて t より小さい値です。BW では、値 1 のピクセルは、局所的な最大値を示し、他のピクセルは値 0 で設定されます。

BW = imregionalmax(I,conn) は局所的な最大値を計算します。ここで、conn は連結性を指定します。既定の設定では、imregionalmax は、2 次元イメージに対して 8 連結近傍を使用し、3 次元イメージに対して 26 連結近傍を使用します。

gpuarrayBW = imregionalmax(gpuarrayI,___) は GPU で演算を実行します。入力イメージは gpuArray でなければなりません。関数は gpuArray を返します。この構文では Parallel Computing Toolbox™ が必要です。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

すべて折りたたむ

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

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    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 =

  10×10 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

入力引数

すべて折りたたむ

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

例: I = imread('glass.png’); BW = imregionalmax(I);

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

連結性。次のテーブルのいずれかのスカラー値として指定します。既定の設定では、imregionalmax は、2 次元イメージに対して 8 連結近傍を使用し、3 次元イメージに対して 26 連結近傍を使用します。高次元に対しては、imregionalmaxconndef(ndims(I),'maximal') を使用します。連結性は、conn01 を要素とする 3 × 3 × ... × 3 行列として使用することにより、任意の次元に対してより一般的に定義できます。1 の値をもつ要素は、conn の中心要素に対する近傍の位置を定義します。conn は、その中心要素の周りに対称でなければなりません。

意味

2 次元連結性

4

4 連結近傍

8

8 連結近傍

3 次元連結性

6

6 連結近傍

18

18 連結近傍

26

26 連結近傍

例: regmax = imregionalmax(A,4);

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

GPU の入力イメージ。gpuArray として指定します。

例: gpuarrayI = gpuArray(imread('cameraman.tif')); gpuarrayBW = imregionalmax(gpuarrayI);

出力引数

すべて折りたたむ

変換されたイメージ。I と同じサイズの論理配列として返されます。

変換されたイメージ。gpuArray として返されます。

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、この関数によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細は、「Image Processing Toolbox のコード生成について」を参照してください。

コードを生成する際、オプションの 2 番目の入力引数 conn はコンパイル時の定数でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

R2006a より前に導入

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