1. 程式人生 > >win10配置QT5.11.1+CMake3.10.3+Opencv3.4.1到執行第一張圖片(執行部分比較詳細,別的略寫)

win10配置QT5.11.1+CMake3.10.3+Opencv3.4.1到執行第一張圖片(執行部分比較詳細,別的略寫)

找到幾個好用的視訊教程:

Windows平臺下基於QT和OpenCV搭建影象處理平臺

http://edu.51cto.com/center/course/lesson/index?id=222156

實戰微課-5分鐘配置好OpenCV3.2 + VS2015開發環境

http://edu.51cto.com/course/10297.html?source=so

以下是我的正文:

花了三天終於搞定...

核心參考文件是官網的文件:

https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

本文只對該文件作為補充說明。

QT我下載的是清華大學映象版本,因為官網的下載慢,時不時報錯需要手動重建,比較煩

https://mirrors.tuna.tsinghua.edu.cn/

QT安裝教程這個比較好

https://www.cnblogs.com/chenmingjun/p/8392713.html

剩下的OpenCV,cmake的安裝參考官網檔案

-----------之後就是絕望的配置過程,呵呵呵---------

首先必然出現的錯誤

第三方/ ffmpeg / ffmpeg.cmake中的CMake錯誤:2(包括):包含不能......

其他大神的解決方案:

https://blog.csdn.net/u011028345/article/details/74568109

https://blog.csdn.net/z137628817/article/details/70159043

我......都用不了.....

我的解決方案:開個藍燈,雖然無比卡,但是......最簡單...

這裡把我的的ffmpeg的和ippicv傳上來好了:

https://pan.baidu.com/s/1yebQgv8x-s4aGCZRQEO7_Q密碼:qpky

之後到這一步

巨多雷區....呵呵呵,具體參考這篇文章:HTTPS://blog.csdn.net/huihut/article/details/78701814

請讓我吐槽一下,知道這些問題會出現,出現每次還要之後重新Configure- Generate-mingw32-make,那為啥不在這一步解決掉這些問題???

我編輯這一步避雷操作的整理版如下:

修改E:\OpenCV_3.3.1\opencv\sources\modules\videoio\src\cap_dshow.cpp檔案,在#include "DShow.h"這行的上面加一行#define NO_DSHOW_STRSAFE,如:

#define NO_DSHOW_STRSAFE
#include "DShow.h"

編譯配置:

  • 勾選 WITH_QT
  • 勾選 WITH_OPENGL
  • 勾選 ENABLE_CXX11
  • 不勾選 WITH_IPP
  • 不勾選 ENABLE_PRECOMPILED_HEADERS

點選配置,再次配置:

  • 設定  QT_MAKE_EXECUTABLE 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\bin\qmake.exe
  • 設定  Qt5Concurrent_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Concurrent
  • 設定  Qt5Core_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Core
  • 設定  Qt5Gui_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Gui
  • 設定  Qt5Test_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Test
  • 設定  Qt5Widgets_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Widgets
  • 設定  Qt5OpenGL_DIR 為 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5OpenGL
  • 設定  CMAKE_BUILD_TYPE 為  Release 或者 RelWithDebInfo

點選生成生成的Makefile

編譯的OpenCV

開啟終端進行編譯(開始-執行--cmd):( -j 的英文使用  8 個執行緒進行編譯,請根據你的計算機配置合理設定執行緒數)

d:
 cd d:\ 
 cd opencv-build  
 mingw32-make -j 8
 mingw32-make install

檢視電腦執行緒數的方法:HTTPS://blog.csdn.net/huazicomeon/article/details/53540852票= ST-353326-Zz4Ha9YGwLDmFeRdVur7-passport.csdn.net

然而我用4執行緒還錯,算了,就一個執行緒吧......慢就慢點,跪求不錯,我用的程式碼如下:

 d:
 cd d:\
 cd opencv-build  
 mingw32-make -j

上一段直接複製,執行完了再輸入這個

 mingw32-make install

全部執行結束後新增系統變數(我的電腦右鍵 - 屬性 - 高階系統設定 - 環境變數 - 系統變數--path--編輯)

新增這一條,其餘與QT相關環境變數是否配齊參考下圖

開啟QT creator,新建專案

除了這個,其他都直接選擇下一步

然後配置環境,工具 - 選項

修改如下:

應用 - 確定

之後編輯程式:程式參考https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

首先修改的.pro檔案,把以下程式碼新增到.pro檔案的最後:

INCLUDEPATH  + =  D:\ opencv \ build \ include
LIBS  + =  D:\ opencv-build \ bin \ libopencv_core341.dll
LIBS  + =  D:\ opencv-build \ bin \ libopencv_highgui341.dll
LIBS  + =  D:\ opencv-build \ bin \ libopencv_imgcodecs341.dll
LIBS  + =  D:\ opencv-build \ bin \ libopencv_imgproc341.dll
LIBS  + =  D:\ opencv-build \ bin \ libopencv_features2d341.dll
LIBS  + =  D:\ opencv-build \ bin \ libopencv_calib3d341.dll

這裡要很注意路徑,

INCLUDEPATH 給出的路徑,資料夾包括要包含以下資料夾

之後修改mainwindow.cpp,直接用下面的程式碼替換,注意在˚F盤裡放一張圖片:1.JPG

#include “mainwindow.h” 
#include “ui_mainwindow.h” 
#include <opencv2 / highgui / highgui.hpp> 
    QMainWindow(父母),
    ui(新的Ui :: MainWindow) 
{
    ui - > setupUi(this);       
    cv :: Mat image = cv :: imread(“f://1.jpg”,1);        
    cv :: namedWindow(“我的形象”);        
    cv :: imshow(“我的圖片”,圖片);  
}
MainWindow :: 〜MainWindow()
{
    刪除使用者介面 ; 
}

執行結果如下: