1. 程式人生 > >Qt5.11+Opencv3.4學習筆記之配置Opencv

Qt5.11+Opencv3.4學習筆記之配置Opencv

    首先,到opencv官網上面下載opencv的安裝包。由於我實在Windows環境下進行的配置,所以說下載win pack。下載完之後雙擊執行,出現下圖所示視窗。找一個吉利的路徑把他存放好(最好不要是中文路徑),而後點選Extract。

等待讀條,讀條完畢後他會生成兩個資料夾和幾個txt檔案,如下圖所示。

第二步,到cmake官網上下載並安裝cmake。然後開啟bin資料夾下的cmake-gui.exe如圖

第一個框裡面填寫剛才解壓出來的opencv其中的source資料夾的位置,第二個地址是opencv編譯後被存放的地址。單擊Configure,在彈出的對話方塊裡面選擇Mingw Makefiles。等待下方白框裡面提示配置成功以後,在上方選擇WITH選單中的With_Qt選項

單擊Generate。跑完進度條之後下方白框會顯示發動成功(Generate successfull)。

之後進入cmd,到達剛才填寫的存放編譯後文件的目錄裡面(cmd中我們使用大寫的碟符加冒號進入目標磁碟,cd命令來進入指定資料夾比如通過這種方式,我們就進入了D盤下面的CF資料夾。),執行mingw32-make -j8命令,該命令代表使用8執行緒編譯。優點是速度快,但是缺點是報了錯無法定位錯誤原因。而且在這個過程中有可能出現各種各樣奇奇怪怪的錯誤,所以說等他到100%是一個很艱難的過程。如果多執行緒編譯報錯的話,只能用單執行緒重新編譯,定位錯誤原因之後把他搜尋一下。這裡貼出幾個大佬整理的錯誤原因以及解決方法:

https://blog.csdn.net/huihut/article/details/78701814  和  https://segmentfault.com/a/1190000014284086

等待跑程式碼跑到100%以後,執行命令mingw32-make install。等待安裝完畢之後opencv的編譯就算告一段落了。

接下來講述如何配置Qt

首先新建一個Qt widget Application ,一路next直到建立完畢。

然後找到.pro檔案,加入如下程式碼:

win32 {
INCLUDEPATH += D:\OpenCV-Build-Mingw32\install\include
LIBS += D:\OpenCV-Build-Mingw32\install\x86\mingw\bin\libopencv_*.dll
}

其中前面部分是剛才在cmake裡面填寫的編譯後文件的位置。

然後再mainwindow.cpp中寫入如下測試程式碼

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // read an image
       cv::Mat image = cv::imread("C:\\Users\\Lzx-PC\\Desktop\\untitled\\002.jpg");
       // create image window named "My Image"
       cv::namedWindow("My Image",CV_WINDOW_AUTOSIZE);
       // show the image on window
       cv::imshow("My Image", image);
      cv::waitKey(600000);
   }

MainWindow::~MainWindow()
{
    delete ui;
}

其中imread裡面放的是圖片的絕對路徑。注意:要使用轉義符“\”來對路徑中的“\”進行轉義。這裡不放絕對路徑的話可能會出現視窗一閃而過的情況。

如果出現了圖片就證明安裝、配置成功了。