美文网首页程序员机器学习与数据挖掘
Ubuntu 17.04 opencv源码编译安装

Ubuntu 17.04 opencv源码编译安装

作者: jockerMe | 来源:发表于2017-08-22 17:53 被阅读799次

    本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装。开发环境主要针对python 对 openCV库的调用。

    1. 安装 gcc cmake 编译环境
    sudo apt-get install build-essential pkg-config cmake cmake-gui
    

    本文提供两种源码编译方式,一种是cmake命令,另一种是通过图形界面的cmake-gui进行编译

    1. 该版本系统ubuntu已经自带python 2.7 和 python 3.5 ,需安装 pip 对python包进行管理
    sudo apt-get install python-pip
    sudo apt-get install python3-pip
    
    1. 配置pip 清华源加速包下载更新速度(寻找飞一样的感觉)
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    # 在pip.conf 中添加以下内容
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host=mirrors.aliyun.com
    
    1. 安装python 以及 python3 下的数据分析包
    pip install numpy scipy matplotlib scikit-image scikit-learn 
    pip3 install numpy scipy matplotlib scikit-image scikit-learn
    
    1. 安装其他依赖
    # git : 版本控制
    # gfortran fortran编译器
    # yasm 汇编编译器
    # ffmpeg 系统自带
    sudo apt-get install checkinstall yasm gfortran git ffmpeg
    sudo apt-get install libxvidcore4 libgtk-3-dev
    sudo apt-get install libjpeg8-dev libjasper-dev 
    sudo apt-get install libtiff5-dev
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
    sudo apt-get install libxine2-dev libv4l-dev
    sudo apt-get install libqt4-dev libgtk2.0-dev libtbb-dev
    sudo apt-get install libatlas-base-dev
    sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
    sudo apt-get install libvorbis-dev libxvidcore-dev
    sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
    sudo apt-get install x264 v4l-utils
    
    1. 可选依赖
    sudo apt-get install libprotobuf-dev protobuf-compiler
    sudo apt-get install libgoogle-glog-dev libgflags-dev
    sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
    
    1. 下载并且安装OpenCV3
    • 安装git
      sudo apt-get install git
    • 下载OpenCV3
      git clone https://github.com/opencv/opencv.git
    • 下载OpenCV_Contrib
      git clone https://github.com/opencv/opencv_contrib.git

    OpenCV 从 3.0 开始,就将一部分内容(比如 SIFT 等)分离到 opencv_contrib 中。因此,要完整安装 OpenCV,还需要安装 opencv_contrib。

    1. 命令编译
    cd opencv
    mkdir build
    cd build
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
          -D CMAKE_INSTALL_PREFIX=/usr/local \
          -D INSTALL_C_EXAMPLES=ON \
          -D INSTALL_PYTHON_EXAMPLES=ON \
          -D WITH_TBB=ON \
          -D WITH_V4L=ON \
          -D WITH_QT=ON \
          -D WITH_OPENGL=ON \
          -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
          -D BUILD_EXAMPLES=ON ..
    # 查看cpu 核心数
    nproc
    # 如果你有8个核心 
    # 切换至 build 目录中,执行下面命令,编译源码并链接生成相应的动态库以及可执行文件
    make -j8
    # 执行完成后,再执行以下命令,将生成的可执行文件以及动态库安装到指定的安装目录中。
    sudo make install
    sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
    sudo ldconfig
    
    1. 用图形化工具配置生成 makefile
    • 切换至 opencv 目录,然后新建一个目录,用于存放 cmake 生成的配置文件。
      mkdir build
      cd build

    • 在你的图形界面的软件中找到 cmake-gui 打开

      然后在 Where is the source code 中添加 opencv 的目录路径,在 where to build the binaries 中添加刚才新建的 build 目录

    • 然后点击下面的Configure,选择 Unix Makefiles,然后选择 default ...。点击 OK,从而处理 opencv目录下的 CMakeLists.txt 。并且在 Build 目录下生成 CMakeCache.txt 及 Makefile 等相关文件。

    • Configure配置结束后,将会出现类似以下配置界面


    以下是需要修改的部分

    CMAKE_BUILD_TYPE 修改为 RELEASE
    OPENCV_EXTRA_MODULES_PATH 设为 opencv_contrib 中的 modules 目录的路径(比如,/home/arvin/opencv_contrib/modules)
    在 BUILD_EXAMPLES 的复选框里 打勾
    在 INSTALL_C_EXAMPLES 的复选框里 打勾
    在 INSTALL_PYTHON_EXAMPLES 的复选框里 打勾
    在 WITH_FFMPEG 的复选框里 打勾
    在 WITH_GTK 的复选框里 打勾
    在 WITH_V4L 的复选框里 打勾
    在 WITH_TIFF 的复选框里 打勾
    在 WITH_PNG 的复选框里 打勾
    在 WITH_JPEG 的复选框里 打勾
    在 WITH_JASPER 的复选框里 打勾
    取消 WITH_CUDA 的复选框里的勾
    取消 WITH_CUFFT 的复选框里的勾
    
    • 然后点击Configure,应用刚才的修改并且将修改内容更新至 build 目录下的 CMakeCache.txt 中。然后点击 Generate,更新 Makefile。

    • 安装OpenCV3 及 OpenCV3 的额外包

      cd opencv/build/
      
      make -j8
      
      sudo make install
      
       sudo ldconfig
      
    1. 测试环境是否配置成功
    # 在命令行打开你的python 解释器,输入以下命令
    import cv2 
    print cv2.__version__
    # 若看到类似以下输出,则表示配置成功
    '3.3.0-dev'
    

    相关文章

      网友评论

        本文标题:Ubuntu 17.04 opencv源码编译安装

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