在OpenCV4.6版本下,C++编写的程序中使用了stitcher->setFeaturesFinder(makePtr<SurfFeatureDetector>());,提示错误"cv:.xfeatures2d:SURF”:无法实例化抽象类,应该怎么解决
时间: 2023-06-09 16:05:58 浏览: 144
无法实例化抽象类
在 OpenCV4.6 版本中,由于实现方式的变化,SurfFeatureDetector 已经被替换成了 SurfFeaturesFinder。所以,在您的程序中,需要将以下代码:
stitcher->setFeaturesFinder(makePtr<SurfFeatureDetector>());
修改为:
stitcher->setFeaturesFinder(makePtr<SurfFeaturesFinder>());
这样就能够成功的编译运行了。同时,您还需要在程序中添加以下头文件包含:
#include "opencv2/xfeatures2d.hpp"
这样就能够成功使用 SurfFeaturesFinder 进行图像拼接处理了。
阅读全文