1. 程式人生 > >ubuntu 18.04.1,配置opencv3.4.3環境,並用Qt測試

ubuntu 18.04.1,配置opencv3.4.3環境,並用Qt測試

之前在windows裝過opencv,編譯環境也是Qt,這次想說在ubuntu下也裝個,但總是遇到各種皮皮蝦問題。這裡我借鑑下一位網友的安裝教程:https://blog.csdn.net/jindunwan7388/article/details/80397700#commentBox ,安裝的步驟可以參照這篇部落格。這裡主要說明這篇部落格中的第三,四中的存在問題以及解決方法(主要是第四步環境的搭建)。以及後續在Qt上搭建環境。

opencv的版本可以到以下網站進行下載:https://github.com/opencv  建議分別下載opencv和opencv_contrib的相應版本博主這裡下載的是opencv3.4.3和opencv_contrib3.4.3(不用擔心版本選擇對安裝的影響,基本上是沒區別的)。

一.下載和新增依賴包

sudo apt-get update
sudo apt-get upgrade   //更新下系統


/*安裝依賴包*/
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

二.安裝和配置

1,安裝cmake

cmake的安裝有很多方法,自行百度,就不介紹了。

2,安裝opencv

(1),解壓下載的opencv3.4.3和opencv_contrib3.4.3兩個壓縮包到所需要的目錄。

(2),解壓出來後,在opencv3.4.3動目錄下建立一個新的目錄build。

               注:可以直接右鍵點建立檔案,也可以使用終端,進入該目錄下,然後mkdir build。

(3),開啟cmake-gui

               注:在應用程式中開啟或使用終端命令 cmake-gui。

               where is the source code: 這個是要填你解壓出來opencv的安裝包路徑(不是opencv_contrib)

               where to build the binaries: 這個是要填之前建立動build資料夾的路徑

               接著直接點右下角Configure,再點finish(會跳出如下圖的視窗)。

               接著就會出現如圖紅色的配置資訊

               以下紅色部分中有一些地方需要改動:i:在CMAKE_BUILD_TYPE 值處輸入RELEASE

                                                                                  ii:在OPENCV_EXTRA_MODULES_PATH處新增opencv-contrib3.4.3目錄下的moduels

              接著點選generate(這裡完了可能會出現很多問題,會提示找不到某些包之類的,具體什麼情況要看個人,這些都可以百度看需要再裝什麼)。處理完這些後再點一次Configure和Generate。

(4),使用終端進入build資料夾目錄下。然後輸入make ,回車,接著輸入sudo make install。等待完成就可以了。

3,配置Opencv環境變數

//在終端中輸入以下命令,會跳出一個新的檔案,這個檔案是隻讀型別的
//可以使用su獲取許可權,進入/etc/ld.so.conf.d/,再使用 chmod 777 opencv.conf修改成可讀寫
//在跳出來動這個檔案中新增build/lib的路徑
sudo gedit /etc/ld.so.conf.d/opencv.conf


//儲存完檔案後,在終端輸入命令配置庫
sudo ldconfig

接著在build目錄下的unix-install找到opencv.cp檔案,並修改第二行的路徑,路徑為之前建立的build資料夾路徑,接著儲存。(還是使用chmod 777 opencv.cp修改許可權)

將儲存的opencv檔案copy到/usr/local/lib,接著更改環境變數

sudo gedit /etc/bash.bashrc

 在彈出來的檔案後面新增

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib 
export PKG_CONFIG_PATH

注: 如果不copy到/usr/local/lib也是可以的,只要修改成opencv.pc的路徑就可以,如PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/icon/Qt/opencv/opencv-3.4.3/build/unix-install

 這樣opencv就算安裝完成了。使用pkg-config --modversion opencv檢視版本。

三. Qt中使用opencv

1,建立一個Non-Qt project    Plain C++ application專案。在.pro檔案中新增標頭檔案路徑和動態連結庫動路徑。

INCLUDEPATH += /*這裡是下載的opencv安裝包目錄下的include中的opencv和opencv2兩個資料夾。注意這是下載解壓後的資料夾中的,而不是build檔案中的*/

LIBS  += /*這裡是上面所建立動build資料夾中的lib資料夾目錄下的所有.so檔案。注:這裡可以根據自己需要新增所需的動態連結庫。*/

INCLUDEPATH += /home/icon/Qt/opencv/opencv-3.4.3/include/opencv\
/home/icon/Qt/opencv/opencv-3.4.3/include/opencv2

LIBS+=/home/icon/Qt/opencv/opencv-3.4.3/build/lib/*.so

2,程式碼測試

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
    Mat a = imread("/home/icon/圖片/1.jpeg");
    namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
    imshow("Display Image",a);
    cout << a.size();
    waitKey(0);
}