Linux安装opencv踩坑记录(以opencv3.3.0为例)

随便找一篇博客,跟着教程安装就行了。这篇博客记录安装过程中出现的问题以及解决办法。

【问题1】No such file or directory

1、无法找到文件:opencv2/xfeatures2d/cuda.hpp: No such file or directory、opencv2/xfeatures2d.hpp: No such file or directory

/home/zt/Desktop/zt/packages/opencv-3.3.0/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
或者是
/home/zt/Desktop/zt/packages/opencv-3.3.0/modules/stitching/src/precomp.hpp:91:42: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
或者是
/home/zt/Desktop/zt/packages/opencv-3.3.0/modules/stitching/src/matchers.cpp:50:35: fatal error: opencv2/xfeatures2d.hpp: No such file or directory

其实这些文件都是有的,在opencv_contrib-3.3.0(相应的安装版本)中的/modules/xfeatures2d/include文件夹下。

【解决方法】

方法1【不推荐】

打开这些出错的文件,把包含的文件修改为绝对路径,比如:
将:#include "opencv2/xfeatures2d/cuda.hpp"
修改为:#include "/home/zt/Desktop/zt/packages/opencv-3.3.0/opencv_contrib-3.3.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
(有多少这种错就要修改多少次源码,比较麻烦,虽然也能解决问题,但是不推荐)

方法2【推荐】:修改CmakeLists.txt文件

步骤 1)打开opencv-3.3.0/modules/stitching文件夹,

/home/zt/Desktop/zt/packages/opencv-3.3.0/modules/stitching

修改该文件夹下的CmakeLists.txt文件,在其中加入一行:

INCLUDE_DIRECTORIES("/home/zt/Desktop/zt/packages/opencv-3.3.0/opencv_contrib-3.3.0/modules/xfeatures2d/include")

改完之后长这样:
在这里插入图片描述
步骤 2)打开opencv-3.3.0/modules文件夹,

/home/zt/Desktop/zt/packages/opencv-3.3.0/modules

修改该文件夹下的CmakeLists.txt文件,在其中加入一行(同上):

INCLUDE_DIRECTORIES("/home/zt/Desktop/zt/packages/opencv-3.3.0/opencv_contrib-3.3.0/modules/xfeatures2d/include")

改完之后长这样:
在这里插入图片描述
步骤 3)全部修改完之后,再按照正常安装步骤先cmake、再make、再make install、再配置环境变量来安装。

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.0/modules -D OPENCV_GENERATE_PKGCONFIG=ON ..

等待cmake完成之后,即可正常安装:

sudo make -j8
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf       #添加/usr/local/lib,并保存

/etc/ld.so.conf.d/opencv.conf 中添加 /usr/local/lib:
在这里插入图片描述

sudo ldconfig        #使配置生效
sudo gedit /etc/bash.bashrc

然后在末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH 

保存之后退出,然后运行:

source /etc/bash.bashrc
sudo updatedb

【安装成功!】

2、features2d/test/test_detectors_regression.impl.hpp: No such file or directory

解决方法:

复制opencv / modules / features2d,然后粘贴到build目录中来解决该问题。

【问题2】vgg_generated_120.i等文件缺失

下载这些文件就行了:
链接:https://pan.baidu.com/s/1Vdfn2ogtaYad_93mGVM7Ww
提取码:vynm

在这里插入图片描述
下载完之后把这些文件放入./opencv_contrib-3.3.0/modules/xfeatures2d/src文件夹下就OK!

【测试是否安装成功】

进入./opencv3.3.0/samples文件夹下的cpp文件夹,里面有很多可测试的例子,随便运行一个:

g++ edge.cpp `pkg-config opencv --cflags --libs` -o test

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值