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大功告成