takminの書きっぱなし備忘録 @はてなブログ

主にコンピュータビジョンなど技術について、たまに自分自身のことや思いついたことなど

CvSURFPointとcv::KeyPointの対応関係

OpenCVのSURF特徴点抽出処理は、C版ではCvSURFPoint構造体に格納されるけど、C++版ではcv::KeyPointクラスに格納されます。その対応関係がわかりづらかったので、ソースを覗いてみました。

KeyPointメンバ CvSURFPointメンバ 説明
pt pt 座標を表す構造体
size size 検出時のBoxフィルタサイズ(多分)
angle dir 度単位で表される特徴方向
response hessian 特徴の強さ
octave N/A 検出されたオクターブ
class_id N/A SURFでは使用されない

なおcv::KeyPointのoctaveに関しては、CvSURFPointのメンバに対応するものはありませんが、C++版のSURFできちんと計算されて格納されます。
またCvSURFPoint構造体に含まれていたlaplacianメンバにあたるものはKeyPointクラスには存在しません。