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クラスには存在しません。