opencv3.2中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher这三个的使用方法已经和原先2.4版本前不一样了。
使用方法示例如下:
Ptr<SURF> detector = SURF::create(minHessian);
detector->detect(img_1, keypoints_1);
Ptr<SURF> extractor = SURF::create();
extractor->compute(img_1, keypoints_1, descriptors_1);
Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create("BruteForce");//这里填写使用的匹配方式
matcher->match(descriptors_1, descriptors_2, matches);
debug版本detect函数运行时会报错,内存访问错误什么的,,,,,
具体原因还不知道,网上查找资料修改图片type为CV_8U,和给vector手动分配空间,实测没有用,但是改为release版本可以使用。
代码: