Ubuntu16.04 LTS上安裝opencv3.4.1
1.opencv3.4.1安裝
1.1依賴庫安裝
安裝編譯工具
apt-get install build-essential
安裝依賴包
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
錯誤警告:

解決方法:
# vi /etc/resolv.conf
添加:

重啟網路
/etc/init.d/networking restart
成功解決網路問題

重新安裝依賴包
#apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
報錯:

解決方法:
不使用阿里云開源鏡像站,換一個開源鏡像站




再次安裝依賴包
#apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
成功解決:

選包
apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
1.2原始碼準備
下載原始碼
打開https://opencv.org/releases.html,或者https://github.com/opencv/opencv/releases,下載opencv-3.4.1.zip,下載完畢通過共享檔案,將opencv-3.4.1共享到Ubuntu上,
作業目錄準備
#mkdir /opt/wkspace/opencv
#cd /opt/wkspace/opencv
將上面兩個目錄下共享到opencv目錄下
解壓進入原始碼包
#unzip opencv_contrib-3.4.1.zip
#unzip opencv-3.4.1.zip
#cd opencv-3.4.1
#mkdir build
#cd build
1.3配置編譯
配置運行cmake
#cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.1/modules/..
報錯:

#cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.1/modules/ ..
Modules后面要加個空格modules/ …
編譯安裝
#make
報錯:

這一類問題解決方法:


繼續編譯make
報錯:

解決方法:
/opt/wkspace/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail/matchers.hpp中的第52行 include“opencv2/xfeatures2d/cuda.hpp”
改成cuda.hpp所在的路徑/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d
即改為:include”/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp”
繼續編譯make
報錯:

解決方法:
如上操作,將include中包含的頭檔案改為include”/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp”
再編譯make
報錯:

解決方法:找到xfeatures2d.hpp的路徑為/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2
將報錯的52行處改為include”/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp”
再編譯make
報錯:

解決方法:找到檔案nonfree.hpp的路徑為/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d
修改報錯的第43行,改為:
include”/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp”
再編譯make
成功!!!
#make install
經過一段時間的等待,opencv編譯完成
最后出現下面的提示說明安裝成功

1.4環境配置
安裝成功后需要將opencv的庫加入到系統路徑中,從而讓系統可以找到,
#vi /etc/ld.so.conf.d/opencv.conf
打開后可能是個空白的檔案,不用管,只需要在檔案末尾添加
/usr/local/lib
有效編譯環境
#ldconfig

#vi /etc/bash.bashrc
在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
執行
#source /etc/bash.bashrc
更新
#updatedb
時間有點長,更新資料檔案
本地測驗
#cd opencv-3.4.1/samples/cpp/example_cmake
#cmake
#make
#./opencv_example
可以看到有畫面出來!!!

至此,opencv本地移植成功!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/386750.html
標籤:其他
