美文网首页
Ubuntu18.04配置Opencv3.4.9

Ubuntu18.04配置Opencv3.4.9

作者: Not灬Alone | 来源:发表于2020-08-10 07:57 被阅读0次

    前言

    源码编译安装Opencv完整步骤以及问题总结。

    一.下载opencv以及opencv_contrib

    可以去github中,在右侧的release中找到需要的版本,opencv以及opencv_contrib版本号对应即可。
    下载解压以后,将opencv_contrib放入opencv文件夹中,并在opencv文件夹中新建build文件夹,用来编译使用。

    二.安装依赖

    $ sudo apt-get update
    $ sudo apt-get upgrade
    

    因为安装 libjasper-dev 这个依赖包可能会出问题,所以先执行以下命令,在执行后续依赖包的安装

    $ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
    $ sudo apt update
    $ sudo apt install libjasper1 libjasper-dev
    

    之后,安装其他依赖

    $ sudo apt-get install libgtk-3-dev libgtk2.0-dev pkg-config
    $ sudo apt-get -y install build-essential cmake
    $ sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev 
    $ sudo apt-get -y install python3-dev python3-numpy python-dev python-numpy 
    $ sudo apt-get -y install libpython3.6-dev libtbb2 libtbb-dev 
    $ sudo apt-get -y install libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libdc1394-22-dev libavcodec-dev libavformat-dev 
    $ sudo apt-get -y install libswscale-dev libv4l-dev liblapacke-dev libopenexr-dev libxvidcore-dev libx264-dev 
    $ sudo apt-get -y install libatlas-base-dev gfortran ffmpeg
    

    安装 cmake GUI

    $ sudo apt-get install cmake-gui
    

    三.使用cmake GUI进行配置

    $ cd build
    $ cmake-gui ../opencv-3.4.9
    

    步骤如下:

    1.点击Configure,选择Unix Makefile,选Use default native compliers。
    2.按照顺序,然后 finish,此时 Configure 按钮变为 Stop ,表示配置进行中。
    3.Configure 结束后,如果 cmake 的主界面仍有红色区域,则再次点击 Configure 进行配置,直到红色区域完全消失。
    4.红色区域没了之后,进行下一步的配置
    (1)在 CMAKE_BUILD_TYPE 值处选择 Release
    (2)CMAKE_INSTALL_PREFIX 选择安装的路径   这里我选择 build 目录下自己新建的 myInstall 文件夹。
    (3)在 OPENCV_EXTRA_MODULES_PATH 处,为其设置 opencv_contrib-3.4.9 的路径,精确到 /modules 目录
    (4)勾选 OPENCV_PYTHON3_VERSION
    (5)添加 python 的路径
        PYTHON2_INCLUDE_DIR2  /usr/include/x86_64-linnx_gnu/python2.7
        PYTHON3_INCLUDE_DIR3  /usr/include/x86_64-linnx_gnu/python3.6m
    (6)勾选 OPENCV_GENERATE_PKGCONFIG   这个很重要,是生成 opencv.pc 的
    5.再次点击 Configure 进行配置,如果还有红色就继续 Configure ,直到没有红色才可进行下一步。
    红色区域没了之后还要注意下输出信息,滚一下看看有没有错误信息(通常也是红色字体,很显眼),一般是下载问题,如果有错误信息,就继续 Configure ,直到没有错误信息。
        最后,点击 Generate,出现 “Generating done” 则意味着 cmake 的工作结束了。
    

    正常来讲,上面第五步提到的下载问题是一定会出现的,这是因为服务器响应超时导致文件无法下载造成的,那么可以提前下载号之后,放入到制定的文件夹,并且替换即可。
    1.根据输出的红色内容,可以找到一个"xxxdownload.txt"文件的路径,打开查看,就会发现这些文件本来应该被下载在哪儿,并且文件名称是什么。此时将我提供的这些文件 密码: mblb下载。根据对应的名称给其重命名,并放入制定路径。
    2.如果不想查看*download.txt,也可以在opencv文件夹中Ctrl+h,显示隐藏文件,会看到.cache文件夹。
    (1)data文件夹中会有face_landmark_model.dat的缓存文件,将其名称复制后,重命名给下载好的face_landmark_model.dat,之后替换原有的缓存文件。
    (2)(3)ippicv和xfeatures2d文件夹也是如此操作。
    此时再次点击 Configure,就发现没有红色输出了,最后,点击 Generate,出现 “Generating done” 则意味着 cmake 的工作结束了。

    四.make&&make install

    在build 目录下输入下面的命令,-j8 意思是用8个 CPU 去 make

    $ sudo make -j8
    #可以查看你的系统多少个
    $ cat /proc/cpuinfo | grep "processor" | wc -l  
    

    之后

    $ sudo make install
    

    五.进行环境配置

    1.pkg-config
    首先,测试显示 OpenCV 版本号,命令行输入以下命令

    $ kg-config --modversion opencv
    

    解释一下 pkg-config 这个什么意思吗,pkg-config 就是我们告诉程序编译时从哪里找头文件和库相关信息。
    opencv.pc放哪里?它默认会去/usr/lib/pkgconfig 里面找 opencv.pc 。当它在这里找不到 opencv.pc ,它就会到 PKG_CONFIG_PATH 所设置的环境变量去找,如果还没找到就会报错,比如上两个测试的报错。
    所以:如果是 opencv4.pc 的就把下面提到的 opencv.pc 改为 opencv4.pc,当然你也可以重命名为 opencv.pc。
    方法一:移动 opencv.pc 到 /usr/lib/pkgconfig
    方法二:把 opencv.pc 放在你想放的路径,然后
    (1). 打开 bash.bashrc

    $ sudo gedit /etc/bash.bashrc
    

    (2). 在文件后添加(改为自己的路径)
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/zxzn/opencv-3.4.9/build/myInstall/lib/pkgconfig
    (3) 更新配置

    $ sudo updatedb
    

    2.配置库路径

    $ sudo gedit /etc/ld.so.conf.d/opencv.conf 
    

    添加你自己的 lib 路径,就比如我的如下:
    /home/zxzn/opencv-3.4.9/build/myInstall/lib
    保存后,更新一下

    $ sudo ldconfig
    

    最后,再进行验证

    $ pkg-config --modversion opencv
    

    我的输出为3.4.9.
    如果没有正常输出可以稍微等待或者重启即可。

    相关文章

      网友评论

          本文标题:Ubuntu18.04配置Opencv3.4.9

          本文链接:https://www.haomeiwen.com/subject/imxhdktx.html