C++ OpenCV 3.0中缺少非自由模块

C++ OpenCV 3.0中缺少非自由模块,c++,opencv,surf,C++,Opencv,Surf,我已经从源代码构建了openCV 3.0 alpha版本,支持CUDA和TBB。现在,我想使用SURF算法进行特征检测和特征匹配。包含文件中存在SurfFeatureDetector opencv2/nonfree/features2d.hpp和opencv2/nonfree/features2d.hpp 但是这个版本的openCV中缺少模块nonfree。我试图在answers.opencv.org上查看opencv论坛,但该网站正在建设中 如何使用非免费模块 在opencv3.0中,SURF

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

opencv2/nonfree/features2d.hpp和opencv2/nonfree/features2d.hpp

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


如何使用非免费模块

在opencv3.0中,SURF/SIFT和其他一些东西被移动到了一个单独的位置

您必须下载它,将其添加到您的主要opencv cmake设置中。请查看那里的自述文件,然后重新运行cmake/make

然后:


您还可以安装此PPA中的所有非免费内容

sudo add-apt-repository ppa:ignaciovizzo/opencv3-nonfree
sudo apt-get update
sudo apt install libopencv-dev

似乎是一个复制,虽然他们的页面被关闭,这不会有多大帮助-也许那些人可以解释他们做了什么?一个AIK非免费模块必须明确选择在建设过程中。所以,如果你使用CMake,你可能会错过一面旗帜?@GregorPetrin-那我该怎么办?你是否碰巧在@Mika阅读了解决方案?我使用了Cmake gui。在Cmake gui中,我应该在哪里明确选择非自由模块?谢谢。对于opencv 249,在CMake Guitanks berak中有一个BUILD_opencv_nonfree复选框。我遵循你建议的方法。我已经在opencv源文件夹中提取了opencv_contrib-master。我将要使用CmakeGUI进行配置,所以我想问一下Cmake中是否有任何特殊标志,以便使用contrib模块构建构建?
sudo add-apt-repository ppa:ignaciovizzo/opencv3-nonfree
sudo apt-get update
sudo apt install libopencv-dev