#include <opencv2/opencv.hpp>报错没有该文件夹,linux上面安装opencv |
您所在的位置:网站首页 › linux系统安装pycharm配置opencv › #include <opencv2/opencv.hpp>报错没有该文件夹,linux上面安装opencv |
时隔多年,居然又要在Linux下编译OpenCV,然而这次居然折腾了一晚上,没想到会出现那么多问题。索性写个文章记录一下,防止下一次又碰壁。 我是在虚拟机上跑的ubuntu18.04。 配置如下:通过以下命令来安装依赖文件。 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get install ffmpeg 第二步:从GitHub下载opencv和opencv_contrib源码,如果你是刚刚安装Linux,那么最好就是修改源,不然下载会非常非常慢。具体操作请移步百度: 如何修改Linux源。我这里用的都是4.2.0的版本。 OpenCV和contirb的源码下载路径: https://github.com/opencv/opencv/releasesgithub.com/opencv/opencv/releases https://github.com/opencv/opencv_contrib/releasesgithub.com/opencv/opencv_contrib/releases 然而在下载过程中可能会出现下载不完全的情况(起码我是这样的),往往出现的问题是缺少boostdesc_bgm.i等问题。所以我们需要提前下载好这些文件,以防不时之需。文件我已经集合在了我的GitHub里面。GitHub地址(欢迎大佬给小星星): https://github.com/omega-Lee/OpenCV-boostdesc-vgg-github.com/omega-Lee/OpenCV-boostdesc-vgg- 下载完以后应该是这样子的: 然后可以得到这样的两个文件夹: 打开opencv里面应该是长这个样子的: 命令: sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/omega-lee/opencv-4.2.0/opencv_contrib-4.2.0/modules/ .. 第六步:进行make编译我的虚拟机是4核的所以是j4,这个根据自己的机子进行选择,多核心编译能加快速度。大概需要30多分钟吧。 sudo make -j4在进行make的时候,大概到78%左右就会出现错误,提示你缺少.i文件。这个时候打开之前下载好的.i文件夹,通过命令移植到缺失目录下。 sudo cp * ../opencv_4.2.0/opencv_contrib-4.2.0/modules/xfeatures2d/src/ 移植完以后应该长这个样子:然后继续执行编译命令:sudo make -j4 继续等待,然后在大概95%的时候继续报错(@_@;),这个时候系统提醒你缺少某hpp文件,不要担心,这个文件不需要下载,直接可以在opencv文件夹中找到。通过命令打开opencv_contrib文件: cd ./opencv-4.2.0/opencv_contrib-4.2.0/modules/xfeatures2d/test你会发现你并没有features2d文件夹,这个文件夹在/opencv-4.2.0/modules里面。 使用命令移动这个文件夹到缺失目录下: sudo cp -r opencv-4.2.0/modules/features2d opencv-4.2.0/opencv_contrib-4.2.0/modules/xfeatures2d/test这下子基本问题全部解决了,继续执行make -j4命令编译。然后就可以看到100%编译完成。 接着就是安装,使用命令进行安装: sudo make install 第七步:配置路径,执行下面命令配置环境变量,注意如果你当前使用的是fish shell,或者别的shell,请退出到bash,不然配置会出问题。 sudo vim/etc/ld.so.conf.d/opencv.conf 这个时候你可能打开文件可能是空白的,没有关系,在文件末尾添加保存并退出 /usr/local/lib 执行生效命令: sudo ldconfig继续打开: sudo vim /etc/bash.bashrc在文件末尾添加写入: export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig保存退出。 执行更新命令: source /etc/bash.bashrc sudo updatedb 整个时候就完成了整个opencv的编译配置。完结散花✧(≖ ◡ ≖✿) 第八步,测试opencvopencv内部集成了很多测试demo,可以通过执行这些demo看是否完成opencv的配置。 通过命令进入到demo中: cd opencv-4.2.0/samples/cpp/example_cmake因为虚拟机可能使用不了摄像头的原因,我们就稍微的修改一下代码,让程序显示一张图片就好了。 sudo vim example.cpp修改保存后退出进行编译操作。 sudo mkdir bulid cd bulid sudo cmake .. sudo make好了,以上全部是在Linux下安装并编译opencv的全部过程,虽然坑有点多,但是多操作几次就习惯了。如果在测试的时候还是没办法使用opencv,请认真比对我给出的过程。 感谢大家观看! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |