我使用这个link在ubuntu上安装了OpenCV,我正在尝试使用SURF描述符。我知道他们将这些类型的描述符的位置更改为非自由模块,因此我们需要包含它,如下所示:#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文件夹,并且存在nonfree文件夹。而且,它是我在QTCreator(我正在使用的环境)中无法访问的唯一库,因为我试图包含在Inlcude文件夹中找到的所有其他库,但它们看起来很好。
EDITED2: 您可以在此link
上查看我在make VERBOSE=1
上运行时看到的内容的屏幕截图
所以不确定在哪里看?实际上,我没有在../ usr / include / opencv2 /
中找到nonfree文件夹感谢。
答案 0 :(得分:43)
实际上,我刚刚使用以下命令更新了openCV,然后就可以了:
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev
答案 1 :(得分:10)
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev
---这个答案适合我,谢谢@Maystro
在此步骤之后,只需将您的程序链接到-lopencv_nonfree,否则您将无法访问冲浪。
答案 2 :(得分:0)
这对我有用:
sudo add-apt-repository --remove ppa:xqms/opencv-nonfree
sudo add-apt-repository --yes ppa:jeff250/opencv
sudo apt-get update
sudo apt-get install libopencv-dev
sudo apt-get install libopencv-nonfree-dev
在这里找到它: