我从源代码构建了openCV 3.0 alpha版本,支持CUDA和TBB。现在,我想使用SURF算法进行特征检测和特征匹配。 SurfFeatureDetector出现在包含文件
中opencv2 / nonfree / features2d.hpp& opencv2 /非自由/ features2d.hpp
但是这个版本的openCV中缺少模块nonfree。我尝试在answers.opencv.org上查看opencv论坛,但该网站正在建设中。
如何使用非免费模块?
答案 0 :(得分:21)
使用opencv3.0,SURF / SIFT和其他一些东西已被移到单独的opencv_contrib repo。
您必须下载它,将其添加到您的主要opencv cmake设置(请在那里查看自述文件),然后重新运行cmake / make。
然后:
#include "opencv2/xfeatures2d.hpp"
...
Ptr<SIFT> sift = cv::xfeatures2d::SIFT::create(...);
sift->detect(...);
答案 1 :(得分:0)
您还可以从此PPA安装所有非免费的东西
sudo add-apt-repository ppa:ignaciovizzo/opencv3-nonfree
sudo apt-get update
sudo apt install libopencv-dev