尝试编译特征检测算法时,出现以下编译错误:我正在编译/使用 clang 链接,并且我的 OpenCV 版本是 2.3.1 版本。我正在(大致)遵循本教程来获得特征匹配: http: //opencv.itseez.com/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html
error: use of undeclared identifier 'SurfDescriptorExtractor';
did you mean 'OrbDescriptorExtractor'?
SurfDescriptorExtractor extractor;
^
有趣的是,Brief 和 Orb 描述符提取器工作“很好”(我最终得到一个运行时错误)。
以下是相关代码:
void setup_and_draw_keypoints(Mat& img, Mat& prev)
{
// Detect Keypoints
vector<KeyPoint> keypoints, prev_keypoints;
GoodFeaturesToTrackDetector gftt;
gftt.detect(img, keypoints);
gftt.detect(prev, prev_keypoints);
//Extract Descriptors
SurfDescriptorExtractor extractor;
Mat desc_1, desc_2; // Descriptors
extractor.compute(img, keypoints, desc_1);
extractor.compute(prev, prev_keypoints, desc_2);
FlannBasedMatcher matcher;
vector<DMatch> matches;
matcher.match(desc_1, desc_2, matches);
}