我在ubuntu linux console中使用OpenCV 3.0.0。
我需要使用SURF,但我已经读过它没有包含在主要的OpenCV安装中,所以我遵循了opencv_contrib GIT步骤:
1)我成功克隆了ubuntu中的opencv_contrib
2)我运行" cmake -D OPENCV_EXTRA_MODULES_PATH = / home / ubuntu / opencv / opencv_contrib / modules / / home / ubuntu / opencv /"。没有错误。一切都很好。
3)制作-j5。我得到的错误与我没有克隆opencv_contrib完全相同(错误:没有匹配函数来调用'cv :: xfeatures2d :: SURF :: SURF(int&)')
我已阅读here某些版本的opencv_contrib使用opencv 3.0.0
知道这是我的问题吗? 我做错了吗?
提前谢谢
答案 0 :(得分:1)
使用opencv3.0,您不能再在'堆栈'上创建SURF或SIFT的实例。
使用:
#include "opencv2/xfeatures2d"
cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create(...);
surf->detect(...);
和链接:opencv_xfeatures2d300
(我不认为,提及的github问题与你的问题有关)