Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

cornermetric

(非推奨) イメージからのコーナー メトリクス行列の作成

cornermetric は推奨されません。代わりに、Computer Vision Toolbox™ の detectHarrisFeatures (Computer Vision Toolbox) または detectMinEigenFeatures (Computer Vision Toolbox)cornerPoints (Computer Vision Toolbox) オブジェクトを使用してください。詳細については、互換性の考慮事項を参照してください。

説明

C = cornermetric(I) は、入力イメージ I 内のコーナー特徴を検出することで、コーナー メトリクス行列を作成します。

C = cornermetric(I,method) は、入力イメージ I 内のコーナー特徴を検出することで、コーナー メトリクス行列を作成します。method によって指定されるコーナー検出法は、コーナー特徴を検出するために使用されます。

C = cornermetric(___,Name=Value) では、前のいずれかの構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。

すべて折りたたむ

入力イメージをワークスペースに読み取ります。

I = imread("circles.png");

コーナー メトリクス行列を生成します。フィルター係数を指定します。コーナー検出法の既定値は "Harris" です。

filter = [0.25 0.5 0.25];
C = cornermetric(I,FilterCoefficients=filter);

imregionalmax を使用して、コーナー メトリクス行列からコーナー特徴 (ピクセル) を検出します。

corner_peaks = imregionalmax(C);

検出されたコーナー ピクセルの値を [255 0 0] に設定します。

corner_idx = find(corner_peaks == true);
[r,g,b] = deal(I);
r(corner_idx) = 255;
g(corner_idx) = 0;
b(corner_idx) = 0;
RGB = cat(3,r,g,b);

コーナー メトリクス行列を表示用に調整します。

C_adjusted = imadjust(C);

元のイメージ、調整されたコーナー メトリクス、および検出されたコーナー特徴をモンタージュとして表示します。検出されたコーナー特徴は、RGB 値が [255 0 0] の赤色のピクセルとして表示されます。

montage({I,C_adjusted,RGB},Size=[1 3])
title("Original Image vs. Adjusted Corner Metric Matrix vs. Detected Corner Features");

Figure contains an axes object. The axes object with title Original Image vs. Adjusted Corner Metric Matrix vs. Detected Corner Features contains an object of type image.

入力イメージをワークスペースに読み取ります。

I = imread("bag.png");

コーナー メトリクス行列を生成します。方法を "MinimumEigenvalue" として指定します。

C = cornermetric(I,"MinimumEigenvalue");

imregionalmax を使用して、コーナー メトリクス行列からコーナー特徴 (ピクセル) を検出します。

corner_peaks = imregionalmax(C);

検出されたコーナー ピクセルの値を [255 0 0] に設定します。

RGB = labeloverlay(I,corner_peaks,Transparency=0,Colormap=[1 0 0]);

コーナー メトリクス行列を表示用に調整します。

C_adjusted = imadjust(C);

元のイメージ、調整されたコーナー メトリクス、および検出されたコーナー特徴をモンタージュとして表示します。検出されたコーナー特徴は、赤色のピクセルとして表示されます。

montage({I,C_adjusted,RGB},Size=[1 3],BorderSize=5,BackgroundColor="w")
title("Original Image vs. Adjusted Corner Metric Matrix vs. Detected Corner Features");

Figure contains an axes object. The axes object with title Original Image vs. Adjusted Corner Metric Matrix vs. Detected Corner Features contains an object of type image.

入力引数

すべて折りたたむ

入力イメージ。m 行 n 列の 2 次元バイナリ イメージまたは 2 次元グレースケール イメージとして指定します。

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

コーナー検出法。"Harris" または "MinimumEigenvalue" として指定します。方法に応じて、次のようになります。

  • "Harris" の場合、関数は Harris コーナー検出器を使用してコーナー メトリクス行列を作成します。

  • "MinimumEigenvalue" の場合、関数は Shi & Tomasi の最小固有値法を使用してコーナー メトリクス行列を作成します。

method を指定しない場合、既定値の "Harris" に設定され、関数は Harris コーナー検出器を使用してコーナー特徴を検出します。

データ型: char | string

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: cornermetric(I,SensitivityFactor=0.1) は感度係数 0.1 を指定します。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: cornermetric(I,"SensitivityFactor",0.1) は感度係数 0.1 を指定します。

1 次元空間フィルター マスクの係数。n 要素ベクトルとして指定します。n の値は、3 以上の奇数でなければなりません。既定では、1 次元空間フィルター マスクは 5 要素ベクトルであり、既定のフィルター係数は、fspecial("gaussian",[5 1],1.5) を使用して計算されます。

感度係数。区間 (0, 0.25) の数値スカラーとして指定します。感度係数の値が小さいほど、鋭角のコーナーが検出される可能性が高くなります。

引数 SensitivityFactor は、入力 method"Harris" の場合にのみ有効です。

出力引数

すべて折りたたむ

コーナー メトリクス行列。入力イメージ I と同じサイズの m 行 n 列の行列として返されます。

データ型: double

ヒント

関数 cornercornermetric はいずれもイメージ内のコーナーを検出します。ほとんどの場合、1 ステップでコーナーを検出するには、効率のよい関数 corner を使用してください。コーナーの選択を厳密に制御する必要がある場合は、関数 cornermetric を使用してコーナー メトリクス行列を計算します。次に、コーナー メトリクス行列のピーク値を検出するための独自のアルゴリズムを作成します。

バージョン履歴

R2008b で導入

すべて折りたたむ

R2016a: cornermetric は非推奨

cornermetric は推奨されません。代わりに、Computer Vision Toolbox の detectHarrisFeatures (Computer Vision Toolbox) または detectMinEigenFeatures (Computer Vision Toolbox)cornerPoints (Computer Vision Toolbox) オブジェクトを使用してください。

Harris のコーナー検出法を使用してイメージ内のコーナーを検出するには、detectHarrisFeatures (Computer Vision Toolbox) を使用します。Shi & Tomasi の最小固有値法を使用してイメージ内のコーナーを検出するには、detectMinEigenFeatures (Computer Vision Toolbox) を使用します。関数 detectHarrisFeatures (Computer Vision Toolbox) および detectMinEigenFeatures (Computer Vision Toolbox) は、検出したコーナー ポイントを格納した cornerPoints (Computer Vision Toolbox) オブジェクトを返します。

参考

|