gaoxiang12 / slambook

MIT License
6.89k stars 3.27k forks source link

编译时关于create的错误 #66

Open 2zhanghaha opened 6 years ago

2zhanghaha commented 6 years ago

首先非常感谢您的书,我觉得对我很有帮助,在下载了您的程序后,在运行时,总是会在create这个地方出错,比如Ptr orb=ORB::create(500,1.2f,8,31,...)就会显示说函数不接受9个参数,这种情况下,我该怎么做??期待您的回复~谢谢

zsustc commented 6 years ago

Mat descriptors_1, descriptors_2; // used in OpenCV3 Ptr detector = ORB::create(); Ptr descriptor = ORB::create();

Ptr<DescriptorMatcher> matcher  = DescriptorMatcher::create ( "BruteForce-Hamming" );
//-- 第一步:检测 Oriented FAST 角点位置
detector->detect ( img_1,keypoints_1 );
detector->detect ( img_2,keypoints_2 );

//-- 第二步:根据角点位置计算 BRIEF 描述子
descriptor->compute ( img_1, keypoints_1, descriptors_1 );
descriptor->compute ( img_2, keypoints_2, descriptors_2 );

//-- 第三步:对两幅图像中的BRIEF描述子进行匹配,使用 Hamming 距离
vector<DMatch> match;
//BFMatcher matcher ( NORM_HAMMING );
matcher->match ( descriptors_1, descriptors_2, match );
gaoxiang12 commented 6 years ago

在OpenCV 2.4版本和3.x版本中,此处的接口定义不一样。书中以3.0或更高版本为例,如果你用的2.4系列,请根据文档自己调整一下函数接口。