Ubuntu16.04+python3.5+opencv3.3.1+opencv_contrib編譯安裝

記錄安裝過程

Ubuntu16.04 默認自帶python3.5.2版本,因此我們基於此版本編譯安裝opencv3.3.1,順帶一起把opencv_contrib算法庫一起編譯安裝,免得後續麻煩。(官方教程:https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html)

一、文件準備

OpenCV3.3.1:https://github.com/opencv/opencv/archive/3.3.1.zip

解壓文件:
unzip opencv-3.3.1.zip
unzip opencv_contrib-3.3.1.zip
將contrib複製到opencv中,並新建build
cp -r opencv_contrib-3.3.1 opencv-3.3.1 #複製opencv_contrib到opencv目錄下
cd opencv-3.3.1
mkdir build#新建文件夾build
文件結構如圖

二、安裝編譯依賴
安裝依賴包
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 python3-dev python3-numpy libtbb2 libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-devsudo apt-getinstall pkg-config
sudo apt-get install pkg-config
三、編譯
   這一步最爲關鍵的是編譯選項
  進入build文件:
cd build
  編譯命令
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON3_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON_EXECUTABLE=/usr/lib/python3 \
-D BUILD_EXAMPLES=ON ..
       通過whereis python3查看自己機器對應的路徑是否一致,基本上使用ubuntu16.04自帶的python版本,上述這個路徑就沒有問題。
   參數解釋:【官方】
   
回車確認執行編譯檢查後如圖

PS:這裏有個坑,我遇到過幾次發現Python(for build):/usr/bin/python2.7 一直沒有排查出問題,仔細檢查參數也是正確的,然後實在無奈呢,嘗試重新解壓從頭開始,mkdir build ……,上述命令又正確了,最後Python(for build) 是python3
執行make:
make -j16 
PS:這裏的16代表你編譯的核心數,看自己的機器決定!我這裏用的32核的Dell T630,所以就用了16個核心進行編譯。經過大約幾分鐘等待後,如圖編譯成功

執行安裝
sudo make install

查看安裝是否成功
import cv2
cv2.__version__




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章