最終更新:2010-08-09 (月) 09:41:13 (5002d)  

cvGoodFeaturesToTrack
Top / cvGoodFeaturesToTrack

cvGoodFeaturesToTrack?() は,画像中から大きな固有値?を持つコーナーを検出する. この関数は最初に,すべての入力画像のピクセルに対して, cvCornerMinEigenVal? を用いて最小の固有値を計算し, 結果を(2番目の引数で指定された) eig_image に保存する. 次に,"non-maxima suppression"を実行する(3×3の隣接領域内の極大のみが残る). 次のステップでは,(6番目の引数で指定された)quality_levelth と max(eig_image(x,y)) の積よりも小さい最小固有値をもつコーナーを削除する. 最後に,この関数はコーナー点に着目し(最も強いコーナーが一番最初に対象となる), 新しく着目した特徴点とそれ以前に対象とした特徴点群との距離が (7番目の引数で指定された) min_distance よりも大きいことをチェックすることで, すべての検出されたコーナーそれぞれの距離が十分離れていることを保証する. そのため,この関数は鮮明な特徴点との距離が近い特徴点を削除する. さらに,関数 cvFindCornerSubPix?()を利用して,4番目の引数で指定したサイズの倍の探索ウィンドウで, コーナー(特徴点)のより正確な座標を探索する.