ubuntu16.04安裝配置opencv3.2.0(完全安裝)

      本教程爲完全安裝教程,只需要簡單安裝的可以參考此篇簡單安裝教程,大部分功能可以使用,但是不具有video等視頻處理的功能。由於本人需要video功能,因此重新安裝的自己的opencv。

安裝步驟

  1. 安裝FFMPEG
  2. apt-get安裝相關的依賴庫
  3. 下載opencv,opencv_contrib包
  4. 編譯,安裝

Step1. 安裝FFMPEG,要想完全安裝,這一步是必須的,本人就是沒有開始沒有安裝這一部分,導致後面編譯出現error而暫停的編譯的情況。出現的錯誤,例如:modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:261: recipe for target 'lib/libopencv_videoio.so.3.2.0' failed。

      modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:261: recipe for target 'lib/libopencv_videoio.so.3.2.0' failed。

(videoio大致就是跟FFMPEG相關了)

本人下載的是ffmpeg-3.1.11.tar.bz2,下載地址去github上ffmpeg,然後選擇下載版本就可以了。安裝指令比較簡單,如下

tar xvf ffmpeg-3.1.11.tar.bz2
cd ffmpeg-3.1.11
sudo apt-get install yasm
 
./configure --host-cppflags=-fPIC --host-cflags=-fPIC --enable-shared
make
sudo make install
這部分比較順利,沒遇到什麼問題。

Step2.  apt-get安裝相關的依賴庫。這些依賴庫在opencv編譯的時候會用到。


$ 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 # 優化opencv功能
$ sudo apt-get install ffmpeg
             這一塊遇到了一些小問題,在apt-get安裝的時候遇到的錯誤,如下圖  :

    出現這個錯誤的原因是其中某些依賴需要切換到python2進行安裝(本人用的python3.5)。前兩句語句意思是設置python兩個版本的優先級,從而進行切換。要是出現這類錯誤,可能是這個原因。

sudo update-alternatives --install /usr/bin/pythonpython /usr/bin/python2 200
sudo update-alternatives --install /usr/bin/pythonpython /usr/bin/python3 100

Step3.  下載opencv,opencv_contrib包。注意,兩個文件要版本一致。比如我下載的是opencv-3.2.0,opencv_contrib-3.2.0。下載地址同樣在github上搜,選擇相應版本的zip文件進行下載。目錄結構:我將opencv_contrib-3.2.0放在opencv-3.2.0文件夾裏面。

cd opencv-3.2.0    ###此處省略瞭解壓的步驟。只需注意opencv_contrib-3.2.0在
                   ###opencv-3.2.0文件夾裏面。
mkdir build
cd build
###下面的cmake版本是不帶cuda的
###標紅的那個opencv_contrib-3.2.0文件夾,我重命名文件夾爲opencv_contrib
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=/home/xwlab/opencv-3.2.0/opencv_contrib/modules \
-D PYTHON3_EXCUTABLE=/usr/bin/python \
-D WITH_CUDA=OFF \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D BUILD_EXAMPLES=ON ..


.###這是帶cuda的,下面帶顏色的數值要自己查###查詢網址:查看cuda型號網址cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=/home/xwlab/opencv-3.2.0/opencv_contrib/modules \
-D PYTHON_EXCUTABLE=/usr/bin/python \
-D WITH_CUDA=ON \
-D WITH_CUBLAS=ON \
-D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
-D CUDA_ARCH_BIN="5.2" \
-D CUDA_ARCH_PTX="" \
-D CUDA_FAST_MATH=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D BUILD_EXAMPLES=ON ..

以上帶cuda版本和不帶cuda版本本人都試過,並且都成功了。

Step4.  編譯,安裝,驗證。

make -j4
sudo make install
sudo ldconfig

到這裏安裝就基本完成了,驗證如下:


python  #進入python環境
import cv2
print(cv2.__version__) #打印opencv版本

output:3.2.0

cam = cv2.VideoCapture(0) #驗證ffmpeg功能
print(cam.isOpened())

參考:https://www.cnblogs.com/arkenstone/p/6490017.html

http://dev.t7.ai/jetson/opencv/

https://jingyan.baidu.com/article/63acb44a3b326561fcc17e13.html

http://blog.csdn.net/qq_26656329/article/details/77092690



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