我正在开发一个使用 openCV 进行图像匹配的 iphone 项目。最初我使用的是 cvMatchTemplate(),但输出不是我们预期的。所以我现在正在尝试使用 FLANN 实现 SURF 检测器。
我尝试将以下 .cpp 代码移植到目标 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
{
...
}
我在这里做错了什么?关于如何调用检测器类(抽象基类)中的方法的任何输入?