方法借鉴:https://blog.csdn.net/weixin_43860261/article/details/88672429
平台:VS2017,opencv4.0.1进行编程
报错问题:在定义ORB对象的时候报错,不允许使用抽象类类型“cv::ORB”的对象
为什么会报错?
角点检测的几个方法(SURF,SIFT,ORB)都被转移opencv_contrib中了。所以版本之间有差异。
这是转移前的写法:
ORB orb;
orb.detect(img_1, keypoints_1);
orb.detect(img_2, keypoints_2);
这种是转移后的写法:
Ptr orb = ORB::create();
orb->detect(img_1, keypoints_1);
orb->detect(img_2, keypoints_2);
希望大家能避开这个坑。