1. 程式人生 > >在Ubuntu18.04上安裝opencv 3.4.1

在Ubuntu18.04上安裝opencv 3.4.1

對於安裝opencv有的人一次就成功,而有人安裝了N多次才成功。我就是那個安裝了N多次的人,每次遇到了很多安裝錯誤,只能通過到網上搜教程資料,解決方法;通過一次次的試錯,最終完成了安裝。再此提醒第一次安裝或則安裝失敗沒有頭緒的小夥伴,請注重官方安裝教程:

https://docs.opencv.org/master/d9/df8/tutorial_root.html

安裝環境是:ubuntu 18.04

安裝的opencv版本為3.4.1(其他版本也行,安裝過程類似)

opencv安裝的依賴包有:

Required Packages

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

1 首先更新資料

1 sudo apt-get update
2 sudo apt-get upgrade

2 安裝依賴包

1 sudo apt-get install build-essential
2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
3 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

3 下載openc3.4.1資料包

https://github.com/opencv/opencv/releases

根據安裝版本選擇性下載

4 解壓

sudo unzip opencv-3.4.1.zip

5 使用CMAKE安裝opencv

安裝時要注意你所在目錄

進入資料夾,建立BUILD資料夾,進入BUILD資料夾

1 cd opencv-3.4.1
2 mkdir build
3 cd build

設定cmake編譯引數,或者直接編譯使用預設引數

[option] sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
[option] sudo camke ..

其他安裝選項請參考官網教程:

 

編譯過程可能時間較長,也可能會出現編譯錯誤而無法進行。

6 進行MAKE建立編譯

make -j7

後面的引數-j7 表示的是使用7核進行編譯,而它的伺服器有10核20個執行緒;所有可以使用更更多的核進行編寫操作,這樣速度會快一些。

build的指令執行也同樣時間會比較長。

7 成功後,進行安裝

make install

在此如果你未出現錯誤,說明你已經安裝好了opencv庫,但還需要配置環境。

8 配置環境

在配置之前,由於修改系統配置檔案需要許可權,請將身份轉變成root

sudo -s

修改opencv.conf檔案

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

文字可能為空白,在文本里新增opencv庫的安裝路徑

/usr/local/lib

儲存,若無法儲存請確定你的身份root;關閉後,會出現警告無需擔心。

更新系統共享連結庫

sudo ldconfig

再修改bash.bashrc檔案

sudo gedit /etc/bash.bashrc

在末尾加入

1 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
2 export PKG_CONFIG_PATH  

儲存退出,然後執行如下命令使得配置生效

source /etc/bash.bashrc

在此就已經完成配置

驗證是否配置成功

檢視opencv版本

pkg-config --modversion opencv

9 編輯測試程式,測試是否安裝成功

opencv_demo.cpp

 1 #include <iostream>
 2 #include <opencv2/opencv.hpp>
 3 
 4 using namespace std;
 5 using namespace cv;
 6 
 7 int main(void)
 8 {
 9   Mat src_image_ = imread("test.jpg");     // 讀取當前目錄下的test.jpg圖片,如果儲存請使用絕對路徑
10   imshow("src_image_", src_image_);       // 開啟圖片檔案
11   waitKey(5000);                          // 停留5秒鐘
12 
13   return 0;
14 }

 

CMakeLists.txt檔案

1 cmake_minimum_required(VERSION 3.5)
2 project(test1)
3 set(CMAKE_CXX_STANDARD 11)
4 set(CMAKE_CXX_STANDARD_REQUIRED ON)
5 
6 add_executable(${PROJECT_NAME} opencv_demo.cpp)
7 target_link_libraries(${PROJECT_NAME} opencv_core opencv_highgui opencv_imgcodecs)

 

執行程式

1 mkdir build   # 建立目錄
2 cd build       # 進入目錄
3 cmake ..     # cmake自動查詢父目錄下的CMakeLists.txt檔案
4 make          # 編譯生成test1可執行檔案
5 ./test1       # 執行可執行檔案, 至於程式碼中開啟的圖片是相對於test1可執行檔案的相對路徑

 

如果執行成功,則安裝成功;若出現編譯錯誤請到網上搜索錯誤原因和解決方式。