Ubuntu16.04.3 下安裝Qt5.9.1 OpenCV3.2.0 (包括OpenCV_contrib)完美版
1.安裝Qt5.9.1
Qt官網址:https://download.qt.io/official_releases/qt/
根據自己的需要選擇版本,這裡我選擇的是qt-opensource-linux-x64-5.9.1.run下載之後通過ctrl+alt+t開啟終端,輸入下面的程式碼:
sudo apt-get update
cd DownLoads
chmod +x ./qt-opensource-linux-x64-5.9.1.run
sudo ./qt-opensource-linux-x64-5.9.1.run
即可出現圖形化安裝,按步驟安裝即可。安裝完後還要修改一些配置。在終端輸入以下程式碼:
sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
進入後按i,進行編輯。
修改第一行為gcc_64的bin目錄,第二行為Qt5.9.1目錄的路徑,完成後儲存退出。(按ESC,然後:,最後輸入wq,Enter即可)
之後,在終端輸入以下程式碼:
sudo apt-get install libgl1-mesa-dev
Qt5.9.1安裝完成。
2. 安裝OpenCV3.2.0(包括opencv_contrib)
安裝opencv的依賴庫
sudo apt-get -y install build-essential cmake pkg-config
sudo apt-get -y install libjpeg62-dev
sudo apt-get -y install libtiff4-dev libjasper-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install git libgtk2.0-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
安裝CMake
在終端輸入以下程式碼:
sudo apt-get install cmake
OpenCV官網地址:https://opencv.org/
opencv_contrib github地址:https://github.com/opencv/opencv_contrib
選擇對應版本下載即可。這裡選擇的是opencv3.2.0
將其解壓,將會得到opencv-3.2.0和opencv_contrib-3.2.0這兩個資料夾,將opencv_contrib-3.2.0放入oepncv中。在home建立一個software資料夾,將資料夾opencv-3.2.0放入software中,方便管理。之後開啟終端輸入以下程式碼:
cd software
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/wkl/software/opencv-3.2.0/opencv_contrib-3.2.0/modules/ ..
如果不安裝opencv_contrib模組,則第二步的命令為:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local
其中 CMAKE_INSTALL_PREFIX=/usr/local是指將要install的路徑
其中 OPENCV_EXTRA_MODULES_PATH=/home/wkl/software/opencv-3.2.0/opencv_contrib-3.2.0/modules/ .. 是指 opencv_contrib-3.2.0 中 modules 所在的路徑,後面的兩點不可省略;
cmake完成後,在終端進行下面的操作:
sudo make -j4
sudo make install
如果沒有錯誤,則opencv3.2.0與opencv_contrib編譯成功。下面配置環境變數。
在終端中輸入如下程式碼:
cd /
cd etc
cd ld.so.conf.d
sudo vim opencv.conf
建立檔案並進入後按i插入新增新內容/usr/local/lib
在終端輸入如下程式碼可檢視:
sudo cat /etc/ld.so.conf.d/opencv.conf
接著在終端輸入:
sudo ldconfig
繼續下一步,新增環境變數(新增到檔案末就行)
sudo gedit /etc/bash.bashrc
新增的內容是:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
儲存,退出。
opencv3.2.0配置完成。
3.測試
開啟QtCreator,點選File,選擇New File or Project,選擇None-Qt Project,選擇Plain C++ Project,點選choose ,然後基本都選預設的就行。專案建立完成後就會看到一個*.pro檔案,修改.pro檔案中的內容,如下:
QT += core
QT -= gui
TARGET = opencv_test
CONFIG += console
CONFIG -= app_bundle
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so
TEMPLATE = app
SOURCES += main.cpp
將下面的cpp檔案copy 到main.cpp中:
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat image = cv::imread("/home/Picture/lena.jpg", cv::IMREAD_COLOR);
cv::imshow("Lena",image);
cv::waitKey(0);
return 0;
}
執行結果正常顯示圖片 :
Good! OK!
4.Qt 中無法輸入中文
進入以下路徑:
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
找到檔案libfcitxplatforminputcontextplugin.so並複製到以下兩個路徑(Qt的安裝路徑下查詢)
路徑1:
/home/zcs/software/Qt5.7.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
路徑2:
/home/zcs/software/Qt5.7.1/5.7/gcc_64/plugins/platforminputcontexts
重啟Qt即可使用中文輸入