我正在开发一个iPhone项目,其中使用了openCV进行图像匹配。最初我使用了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
{
...
}
我在这里做错了什么?对于如何调用检测器类(抽象基类)中的方法,您有任何建议吗?