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);
}