1. 程式人生 > >ubuntu18.04環境下編譯安裝opencv3.4

ubuntu18.04環境下編譯安裝opencv3.4

ubuntu18.04由於出來沒多久,很多應用也沒有很快就適配,而且由於系統配置環境的不熟悉,經常會出現一些不可預知的錯誤。下面記錄的是我電腦上安裝opencv3.4.0的安裝過程,網上這類教程很多,但是由於自己安裝過程中出現了幾個自己無法找到的問題,所以還是想記錄一下。

系統裝完後,給電腦安裝顯示卡驅動、cuda9.0、以及cudnn7.1.4, 具體安裝步驟參見下面的這篇文章,寫得很仔細,主要就是注意一下,由於cuda9.0僅只持GCC6.0以下版本,而18.04預裝為7.3,因此要手動降級。另外cudnn安裝下載deb安裝包更方便一下。

驅動、cuda、cudnn啥的按裝好後,可以開始安裝opencv了,直接去官網下載opencv原始碼進行編譯。這裡多說兩句,本來計劃安裝opencv3.2或者opencv2.4.13這兩個版本的,但是在安裝過程中,要麼cmake出錯,要麼make出錯,無奈之下只得試了一下opencv3.4,結果沒出什麼問題。

第一步:下載完成後對該檔案進行解壓,會得到一個opencv-3.4.0的資料夾,進入該資料夾,手動新建一個release的資料夾,然後進入到裡面,開啟一個終端。或者直接在opencv-3.4.0資料夾中開啟一個終端,然後

# 新建一個release的資料夾
$ mkdir release
# 進入到release資料夾中
$ cd release

第二步:cmake,進入到release資料夾後,在終端中輸入如下命令,後面的-D CUDA_GENERATION=kepler 加上

# 正常情況下使用如下cmake命令即可
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

# 但是,由於cuda 9.0對環境有點不支援,可能需要在後面加上-D CUDA_GENERATION=Kepler
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

 第三步:make 和 install,這裡需要的時間可能會有點久,

# 這裡-j4使用4執行緒make,速度會快一下
$ sudo make -j4
$ sudo make install

第四步:配置opencv編譯環境,將其新增到系統路徑中,

# 
$ sudo gedit /etc/ld.so.conf.d/opencv.conf

在出現的編輯器中加上 /usr/local/lib,該配置檔案可能是空檔案。儲存後,接下來

# 使配置生效
$ sudo ldconfig  
# 配置bash.bash.rc
$ sudo gedit /etc/bash.bashrc

# 這時在開啟的檔案中新增下面兩條路徑
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH

# 儲存使配置生效
& source /etc/bash.bashrc
& sudo updatedb

最後測試一下,在opencv-3.4.0資料夾中進入到opencv-3.4.0/samples/cpp/example_cmake/目錄下,然後編譯執行一下

$ cmake .
$ make
$ ./opencv_example

攝像頭開啟,ok大功告成