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

detectKAZEFeatures

KAZE 特徴を検出します。

説明

points = detectKAZEFeatures(I) は、2 次元グレースケール入力イメージで検出された KAZE キーポイントについての情報を含む KAZEPoints オブジェクトを返します。この関数は、非線形拡散を使用して、指定されたイメージに対してスケール スペースを構築します。そして、そのスケール スペースからマルチスケールのコーナー特徴を検出します。

points = detectKAZEFeatures(I,Name,Value) は、1 つ以上の名前と値のペアの引数で指定される追加のオプションを備えている KAZEPoints オブジェクトを返します。

すべて折りたたむ

KAZE 特徴点を検出してプロットします。

イメージを読み取ります。

I = imread('cameraman.tif');

イメージの KAZE 点を検出します。

points = detectKAZEFeatures(I);

最も強い 20 個の点をプロットします。

imshow(I)
hold on
plot(selectStrongest(points,20))
hold off

KAZE 特徴を検出し、プロットする特定の KAZE 点を表示します。

イメージを読み取ります。

I = imread('cameraman.tif');

イメージの KAZE 特徴を検出します。

points = detectKAZEFeatures(I);

検出された最後の 5 個の点を選択して表示します。

imshow(I);
hold on;
plot(points(end-4:end));
hold off;

入力引数

すべて折りたたむ

入力イメージ。2 次元グレースケール イメージとして指定します。

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

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: 'Diffusion','region'

伝導率を計算する方法。'region''sharpedge'、または 'edge' として指定します。計算は、スケール スペース内の層の 1 次導関数に基づきます。

方法選択される特徴
'region'大きな領域。Perona と Malik の伝導係数 1/(1 + dL^2/k^2) を使用します。
'sharpedge'高コントラストのエッジ。Perona と Malik の伝導係数 exp(-|dL|^2/k^2) を使用します。
'edge'エッジをまたいで平滑化を行う代わりに、エッジの両側で平滑化します。Weickert の伝導係数を使用します。

局所的極値。0 以上のスカラーとして指定します。重要性の低い局所的極値を除外するには、この値を大きくします。

マルチスケール検出係数。正の整数で指定します。より大きな特徴を検出するには、この値を大きくします。マルチスケール検出を無効にするには、NumOctaves1 に設定します。この値を 1 に設定すると、関数は入力イメージのスケールで検出します。推奨値は 1 ~ 4 です。

スケールのレベル。[3,10] の範囲の整数として指定します。スケールの変化を滑らかにするには、この値を大きくします。また、この値を大きくすると、オクターブ間に追加の中間スケールが提供されます。推奨値は 1 ~ 4 です。

コーナー検出のための四角形領域のサイズ。[y x width height] 形式の 4 要素ベクトルとして指定します。[y x ] の値は、四角形の左上隅から測定されます。

出力引数

すべて折りたたむ

KAZE 点。KAZEPoints オブジェクトとして返されます。このオブジェクトには、2 次元グレースケール入力イメージで検出された特徴点に関する情報が含まれます。

参照

[1] Alcantarilla, P.F., A. Bartoli, and A.J. Davison. "KAZE Features." ECCV 2012, Part VI, LNCS 7577. 2012, p. 214

拡張機能

R2017b で導入