Qt and OpenCV 3 on Windows (使用MSVC)

介紹一下怎麼在 Windows 下使用 Qt 和 OpenCV 3.

系統環境

  • Windows 7
  • Qt5.10.0 (編譯器選擇 MSVC 2015 32-bit)
  • OpenCV 3.3.1 (準備用 MSVC 2015 來 build)
  • Cmake

安裝 Qt

先從官網下載 Qt, 目前最新為5.10, 安裝好之後
並把 Qt dll 路徑加進系統環境變數裡 (這步很重要, 因為要用它來編譯OpenCV)

1
C:\Qt\Qt5.10.0\5.10.0\msvc2015\bin

編譯 OpenCV (使用 MSVC 編譯)

從官網下載 OpenCV 並解開, 執行下列指令

1
2
3
4
cd opencv-3.3.1
mkdir build
cd build
cmake-gui.exe ..

在make-gui上按照下方流程進行

1
2
3
選擇 Visual Studio 14 2015  
選擇 Use default native compilers
再按 Finish

按一下 Configure

1
2
勾選 WITH_OPENGL
勾選 WITH_QT

再一下 Configure (確定都沒有紅色), 再按一下 Configure, 再按 Generate
接下來就可以開始編譯與安裝
到 C:\opencv-3.3.1\build 開啟 OpenCV.sln

1
2
編譯:選擇 ALL_BUILD 然後 Build
安裝:選擇 INSTALL 然後 Build

把安裝後的資料夾 C:\opencv-3.3.1\build\install\x86\vc14 資料夾複製到 C:\opencv\build\x86 底下去

把 OpenCV dll 目錄加進系統環境變數裡 (這步很重要, 否則執行期間會找不到dll)

1
C:\opencv\build\x86\vc14\bin

之後在 Qt 專案檔 .pro 加入下列變數

1
2
3
4
5
6
7
8
INCLUDEPATH += C:\opencv\build\include

LIBS += C:\opencv\build\x86\vc14\lib\opencv_core331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_highgui331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_imgcodecs331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_imgproc331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_features2d331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_calib3d331.lib

上述的 LIBS 是 release 版的, debug 版的需要額外再加入
LIBS 的格式用下列也可以

1
2
3
4
5
6
7
LIBS += -LC:\opencv\build\x86\vc14\lib \
-lopencv_core331 \
-lopencv_highgui331 \
-lopencv_imgcodecs331 \
-lopencv_imgproc331 \
-lopencv_features2d331 \
-lopencv_calib3d331

搞定結束!

參考
windows下QT creator+openCV配置和使用

其它相關文章推薦
[Qt] 讀檔,讀取 txt 文字檔
[Qt] 寫檔,寫入 txt 文字檔
安裝 Qt 在 Windows 7 (使用MSVC)
Qt產生的exe發布方式
Qt 新增多國語言.ts翻譯檔案
Qt5的中文亂碼問題如何解決