在Ubuntu上包含非自由的openCV 2.4.10

我使用这个链接在Ubuntu上安装了OpenCV,我试图使用SURF描述符。 我知道他们把这些types的描述符的位置改为非自由模块,所以我们需要包含它,就像这样: #include "opencv2/nonfree/features2d.hpp" 。 问题是,我在编译时得到这个错误: opencv2/nonfree/features2d.hpp no such file or directory.

任何想法如何解决它?

编辑: openCV的其他部分工作正常。 我包括以下库,一切都看起来不错:

 #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/legacy/legacy.hpp" 

我检查了我的OpenCV目录中的inlcude文件夹,非空白文件夹在那里。 此外,这是我在QTCreator(我正在使用的环境)中无法访问的唯一一个库,因为我试图包含在Inlcude文件夹中find的所有其他库,并且它们看起来不错。

EDITED2:你可以看到当我在这个链接上运行make VERBOSE=1时看到的截图

所以不知道在哪里看? 其实我在../usr/include/opencv2/找不到freefree文件夹

谢谢。

其实,我刚刚更新openCV使用下面的命令,然后它的工作:

 sudo add-apt-repository --yes ppa:xqms/opencv-nonfree sudo apt-get update sudo apt-get install libopencv-nonfree-dev 

sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev

—这个答案很适合我,谢谢@Maystro

在此步骤之后,只需将您的程序链接到-lopencv_nonfree,或者您无法访问冲浪。