1. 程式人生 > >Ubuntu16.04.3 下安裝Qt5.9.1 OpenCV3.2.0 (包括OpenCV_contrib)完美版

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即可使用中文輸入