Main Content

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

corner

(非推奨) イメージ内のコーナー ポイントの検出

関数 corner は推奨されません。代わりに、Computer Vision Toolbox™ の detectHarrisFeatures (Computer Vision Toolbox) または detectMinEigenFeatures (Computer Vision Toolbox) を使用してください。

説明

C = corner(I) はイメージ I 内のコーナーを検出して、行列 C にそれらの座標を返します。

C = corner(I,method) は、指定された method を使用してイメージ I 内のコーナーを検出します。

C = corner(I,N) はイメージ I 内のコーナーを検出して、最大 N 個のコーナーを返します。

C = corner(I,method,N) は、指定されたメソッドとコーナーの最大数を使用してコーナーを検出します。

C = corner(___,Name,Value) は、コーナー検出アルゴリズムのさまざまな特性を制御するパラメーターと対応する値を指定します。

すべて折りたたむ

この例では、関数 corner を使用してコーナーの位置を特定し、目的とするコーナーの最大数を調整することによって結果を調整する方法を説明します。

チェッカーボード イメージを作成します。

I = checkerboard(40,2,2);

イメージ内のコーナーを検出します。

C = corner(I);

目的とするコーナーの最大数が既定設定の 200 である場合にコーナーを表示します。

subplot(1,2,1);
imshow(I);
hold on
plot(C(:,1), C(:,2), '*', 'Color', 'c')
title('Maximum Corners = 200')
hold off

Figure contains an axes object. The axes object with title Maximum Corners = 200 contains 2 objects of type image, line. One or more of the lines displays its values using only markers

目的とするコーナーの最大数が 3 である場合にコーナーを表示します。

corners_max_specified = corner(I,3);
subplot(1,2,2);
imshow(I);
hold on
plot(corners_max_specified(:,1), corners_max_specified(:,2), ...
   '*', 'Color', 'm')
title('Maximum Corners = 3')
hold off

Figure contains 2 axes objects. Axes object 1 with title Maximum Corners = 200 contains 2 objects of type image, line. One or more of the lines displays its values using only markers Axes object 2 with title Maximum Corners = 3 contains 2 objects of type image, line. One or more of the lines displays its values using only markers

入力引数

すべて折りたたむ

グレースケールまたはバイナリ イメージ。m 行 n 列の数値行列を指定します。

コーナー検出法。Harris のコーナー検出法では 'Harris' あるいは Shi & Tomasi の最小固有値法では 'MinimumEigenvalue' を指定します。

関数 corner が返す可能性があるコーナーの最大数。正の整数として指定されます。

名前と値の引数

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

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

例: corner(I,'QualityLevel',0.2) はイメージ I のコーナーの最小画質レベルを 0.2 に指定します。

分離可能な平滑化フィルターのフィルター係数。'FilterCoefficients' と数値ベクトルで構成されるコンマ区切りのペアとして指定します。ベクトル V の長さは奇数でなければなりません。最小値は 3 です。外積 V*V' から最大フィルター カーネルが得られます。既定のフィルター係数は fspecial('gaussian',[5 1],1.5) で与えられます。

コーナーの最小許容画質。'QualityLevel' と (0,1) の範囲の数値スカラーで構成されるコンマ区切りのペアとして指定します。画質レベル Q では、候補コーナーのコーナー メトリクスの値が Q * max(corner metric) 未満の場合、ツールボックスはこれらの値を変更前に戻します。誤りを含むコーナーを削除するには、Q の値を大きくしてください。

Harris 検出アルゴリズムで使用される感度係数。'SensitivityFactor' と (0, 0.25) の範囲の数値スカラーで構成されるコンマ区切りのペアとして指定します。感度係数の値が小さいほど、アルゴリズムで鋭角のコーナーが検出される可能性が高くなります。このパラメーターは 'Harris' method のみで使用します。

出力引数

すべて折りたたむ

イメージ I 内で検出されたコーナー ポイントの x 座標と y 座標。p 行 2 列の行列として指定します。

データ型: double

ヒント

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

アルゴリズム

関数 corner は候補コーナーに対して非最大点の抑制を実行し、コーナーは 2 ピクセル以上離れます。

バージョン履歴

R2010b で導入

参考

| (Computer Vision Toolbox) | (Computer Vision Toolbox)