首頁 > 軟體

Ubuntu 17.04下OpenCV原始碼編譯安裝

2020-06-16 17:05:37

本文主要針對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'

OpenCV官方教學中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu 14.04安裝OpenCV2.4.9  http://www.linuxidc.com/Linux/2016-07/132884.htm

Ubuntu 16.04上用CMake圖形介面交叉編譯樹莓派的OpenCV3.0 http://www.linuxidc.com/Linux/2016-10/135914.htm

Ubuntu 16.04中安裝OpenCV 2.4.11  http://www.linuxidc.com/Linux/2016-07/132882.htm

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝  http://www.linuxidc.com/Linux/2016-07/132860.htm

Linux上安裝和編譯OpenCV3.0.0  http://www.linuxidc.com/Linux/2017-07/145446.htm

Ubuntu 16.04下OpenCV安裝筆記和例程 http://www.linuxidc.com/Linux/2017-08/146027.htm

Ubuntu 16.04下TensorFlow+Caffe+OpenCV3.1+Theano部署  http://www.linuxidc.com/Linux/2017-01/139503.htm

Ubuntu 16.04 編譯安裝OpenCV 3.1及OpenCV多版本切換 http://www.linuxidc.com/Linux/2017-01/139325.htm


IT145.com E-mail:sddin#qq.com