一、軟體準備
1、QT: 5.12
2、Opencv 4.2
3、CMAKE 3.17
二、軟體安裝及環境變量配置
1、Qt creator安裝
(1)Qt安裝
本教程針對之前下載的Qt 5.12.2進行安裝演示
l 點擊下載好的qt-opensource-windows-x86-5.12.2.exe,出現如下頁面,點擊Next
l 此時需要提供你的Qt帳號,註冊一下登陸即可。再點擊Next
l 然後點擊下一步
l 選擇安裝文件夾,默認為C盤,由於文件太大建議安裝到其他盤,選擇好安裝路徑後點擊下一步
l 選擇如下組件:Qt5.12.2中的MinGW7.3.0 32-bit和MinGW7.3.0 32-bit,選擇Developer and Designer中的Qt Creator 4.8.2 CDB、MinGW7.3.0 32-bit和MinGW7.3.0 32-bit。之後點擊下一步
l 同意許可,點擊下一步
l 點擊安裝,安裝完成後點擊完成
(2)然後進行Qt的環境變量設置
下面是對Mingw32-make.exe編譯器和Mingw64-make.exe編譯器的環境變量配置方法
l 在收索中輸入系統環境變量,打開編輯系統環境變量,選擇高級,點擊環境變量
將你的Qt安裝目錄中5.12.2文件夾下的mingw73_32中的bin文件夾路徑添加到系統環境變量中,然後將Qt安裝目錄中Tools文件夾下對應的mingw73_32中的bin文件夾路徑添加到系統環境變量中,至此Mingw32編譯器的環境變量配置就完成了。Mingw64編譯器環境變量配置方法同理。配置好後如下圖所示:
圖中E:\Mysoftware\Qt5.12.22是我的Qt安裝目錄
所有都配置好以後Qt就可以使用了!
2、Cmake安裝
l 點擊Cmake安裝文件彈出如下界面,點擊Next
l 如下圖,勾選同意條款,點擊Next
l 選擇Add cmake to the system path for all user,點擊Next
l 選擇安裝路徑後點擊Next
l 點擊Install開始安裝
3、Opencv的下載和安裝
(1)Opencv庫的下載
l 選擇下載opencv4.2版本的sources文件
(2)Opencv sources文件解壓
l 然後點擊下載好的opencv-4.2.0-vc14_vc15文件將opencv4.2的資源文件解壓到你指定的安裝路徑中,得到如下圖所示文件夾內容:
我的安裝路徑為E:\Mysoftware\opencv,同時在與sources文件夾同級目錄中新建文件夾,如Qt_build2
三、Qt+Opencv動態連結庫的建立
l 首先打開安裝好的CMake軟體,將之前opencv的sources文件夾的路徑添加到Where is the sources code後對話框中,然後上一步中新建的Qt_build2文件夾路徑添加到Where to bulid the binaries後的對話框中,然後點擊Configure,如下圖所示:
我的sources路徑是:E:\Mysoftware\opencv\sources
我的Qt_build2文件夾路徑是:E:\Mysoftware\opencv\Qt_build2
l 在彈出框中選擇MinGW Makefile,選擇Specify native compilers,點擊Next,如下圖所示:
l 在彈出框中分別選擇C和C++對應的Mingw64編譯器對應的gcc.exe和g++.exe文件路徑,點擊Finish:
我的路徑如下:
C對應E:/Mysoftware/Qt5.12.22/Tools/mingw730_32/bin/gcc.exe
C++對應E:/Mysoftware/Qt5.12.22/Tools/mingw730_32/bin/g++.exe
l 當對話框中出現Configuring done之後,會出現一大片紅的,暫時不用管,下拉將WITH_OPENGL和WITH_QT選中,然後再次點擊Configure
l 此時仍會有紅色出現,如下圖所示,
l 將紅色區域中的Value地址路徑改為你的Qt安裝路徑下對應的Qt5Concurrent、Qt5Core、Qt5Gui、Qt5Test、Qt5Widgets和Qt5,我的文件路徑如下所示,請參考:
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5Concurrent
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5Core
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5Gui
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5OpenGL
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5Test
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5Widgets
E:/Mysoftware/Qt5.12.22/5.12.2/mingw73_32/lib/cmake/Qt5
l 修改後如下所示,再次點擊Configure
l 此時紅色消失,在下拉框中找到CMAKE_BUILD_TYPE選擇Release類型,再次點擊Configure
l 若沒有報錯,點擊Generate,Generating done之後,關閉Cmake即可,然後進入之前我們新建的Qt_build2文件夾中可以看到生成的文件
l 將滑鼠放在該文件夾界面內,按住shift鍵,同時點擊滑鼠右鍵,對話框中點擊在此處打開Powershell窗口(s),進入Windows Powershell,輸入下面指令並回車:
mingw32-make -j 8
(註:-j8是Cpu多線程處理任務命令,可以加快編譯速度,我的Cpu是四核八線程的,所示是-j8)
l 按回車鍵執行該命令,這裡要進行一段時間,耐心等待。。。100%完成之後,輸入下面指令並回車:
mingw32-make install
l 完成之後退出,另外再將如下圖所示文件夾得路徑按照前述方式加入環境變量即可。(即之前新建得用於存放編譯Opencv sources文件得文件夾)
我的路徑是:E:\Mysoftware\opencv\Qt_build2\install\x64\mingw\bin
l 至此,完成Qt+Opencv動態連結庫的建立!
四、Qt+opencv動態連接庫測試——用Qt調用opencv顯示圖片
l 打開Qt,點擊Projects,點擊New Project新建工程
l 默認使用Qt Widgets Application模板,直接點右下方Choose
l 如圖所示創建路徑和項目名稱,點擊下一步
l 選擇mingw 32-bit,點擊下一步
l 全部默認,點擊下一步
l 點擊完成
l 在test.pro中添加如下代碼,位置如下圖所示
INCLUDEPATH += E:\opencv-4.0.1-Sources\opencv-build\install\include
LIBS += E:\opencv-4.0.1-Sources\opencv-build\lib\libopencv_*.a
l 在mainwindow.cpp中紅框位置加上如下代碼,位置如下圖所示
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
Mat image=imread("G:\\Qt\\Qt+opencv_test\\test\\123.jpg",1);
namedWindow( "Display window", WINDOW_AUTOSIZE );
imshow( "Display window", image );
代碼中G:\\Qt\\Qt+opencv_test\\test\\123.jpg是所要顯示得圖片路徑,(切記!圖片的路徑不能是C盤路徑)而且所用圖片尺寸不能太大否則結果會顯示不正常,程序中會出現紅色警告提示,不用擔心,在下一步中會恢復正常
l 選擇菜單欄中得構建,執行qmake之後紅色消失
l 運行test.pro文件,輸出結果示例如下,若正常輸出則說明你的Qt已經可以調用opencv庫了