OpenCV 3.0中缺少Nonfree模块

时间:2014-12-11 08:47:54

标签: c++ opencv surf

我从源代码构建了openCV 3.0 alpha版本,支持CUDA和TBB。现在,我想使用SURF算法进行特征检测和特征匹配。 SurfFeatureDetector出现在包含文件

  

opencv2 / nonfree / features2d.hpp& opencv2 /非自由/ features2d.hpp

但是这个版本的openCV中缺少模块nonfree。我尝试在answers.opencv.org上查看opencv论坛,但该网站正在建设中。

如何使用非免费模块?

2 个答案:

答案 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