画像マッチングにopenCVを使用するiphoneプロジェクトに取り組んでいます。最初は cvMatchTemplate() を使用していましたが、出力が期待どおりではありませんでした。そのため、FLANN を使用して SURF 検出器を実装しようとしています。
次の .cpp コードを Objective C に移植しようとしましたが、
//-- Step 2: Calculate descriptors (feature vectors)
SurfDescriptorExtractor extractor;
Mat descriptors_1, descriptors_2;
extractor.compute( img_1, keypoints_1, descriptors_1 );
extractor.compute( img_2, keypoints_2, descriptors_2 );
//-- Step 3: Matching descriptor vectors using FLANN matcher
FlannBasedMatcher matcher;
std::vector< DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );
しかし、必要なすべてのライブラリとヘッダー ファイルが含まれているにもかかわらず、コンパイルできませんでした。オートコンプリートは、存在する検出器のオプションも提供していません
#include "opencv2/features2d/features2d.hpp"
検出器は、ヘッダー ファイルで次のように定義されます。
class CV_EXPORTS FeatureDetector
{
...
}
ここで何が間違っていますか?ディテクタ クラス (抽象基本クラス) でメソッドを呼び出す方法に関する情報はありますか?