在Ubuntu上安装非自由的OpenCV 2.4.10

11
我在Ubuntu上使用link安装了OpenCV,现在想使用SURF描述符。我知道这些类型的描述符已经被移动到了nonfree模块中,所以我们需要将其包含进去,类似于这样:#include "opencv2/nonfree/features2d.hpp"。问题是,在编译时我遇到了这个错误:opencv2/nonfree/features2d.hpp文件或目录不存在。 有任何解决方法吗? 编辑: 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目录中的include文件夹,nonfree文件夹在那里。此外,这是我无法在QTCreator(我使用的环境)中访问的唯一库,因为我尝试包括在Include文件夹中找到的所有其他库,它们看起来都很好。
编辑2:您可以看到当我在此link上运行make VERBOSE=1时看到的屏幕截图。
所以不确定要去哪里看?实际上,我没有在../usr/include/opencv2/中找到nonfree文件夹。
谢谢。

我尝试了两个,但是得到了相同的错误。 - Maystro
@usr1234567,修改了问题。 - Maystro
请用文本替换不可读的图像 - berak
@usr1234567,实际上我不太明白您的意思。请您能否澄清一下? - Maystro
如果您通过某个 ppm 安装了 opencv,他们可能已经移除了“非免费”模块。那么您可能需要从 Github 源代码进行构建。 - berak
显示剩余3条评论
3个回答

42

实际上,我只是使用以下命令更新了openCV,然后它就可以工作了:

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

15
仓库已不存在:无法获取http://ppa.launchpad.net/xqms/opencv-nonfree/ubuntu/dists/vivid/main/binary-amd64/Packages 404未找到 - AxeEffect
仍适用于m2。AxeEffect请确认或删除您的评论。 - Paulo Neves
1
@PauloNeves 的代码库已经不存在了。对我来说无法工作。 - Nubcake
这个代码库在Ubuntu 16上能正常工作,但在Ubuntu 14上无法运行。 - Geograph

10

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

这个答案对我很有帮助,谢谢@Maystro。

完成上述步骤后,只需将您的程序链接到-lopencv_nonfree,否则无法访问surf。


如何将程序链接到-lopencv_nonfree? - Slick Slime

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

我在这里找到了它:

https://askubuntu.com/a/1141214/689474


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接