參考:https://www.jianshu.com/p/c244c9d01fe0
前面很多都是照搬的,安裝qt cmake/opencv我就不說明了,上面的網站有介紹
編譯OpenCV
運行cmake-gui.exe,分別選擇OpenCV的源碼路徑和編譯輸出路徑
點擊Configure,進行配置如下,然后next
配置編譯器路徑,然后finish
C: C:/Qt/Qt5.11.1/Tools/mingw530_32/bin/gcc.exe C++: C:/Qt/Qt5.11.1/Tools/mingw530_32/bin/g++.exe
第一次configure完成后,勾選 WITH_QT 和 WITH_OPENGL,再次點擊configure
第二次configure完成后, 將CMAKE_BUILD_TYPE修改為 Release,再次點擊configure
第三次configure完成后,點擊generate,生成結束后,打開cmd,進入編譯輸出目錄,執行編譯指令(-j 表示多線程工作,電腦是幾核的CPU,后面的參數就可以設為多少,可以節省編譯時間)
d: cd OpenCV cd build-Qt mingw32-make -j 4 mingw32-make install
上面有問題的請參考上面給的網址。
下面是測試代碼:
新建一個QWindow項目,名為TestOpenCV,修改項目配置文件TestOpenCV.pro,在文件末尾增加文件包含路徑及所需庫文件
INCLUDEPATH += D:\openCV\opencv\build\include
LIBS += D:\openCV_out\lib\libopencv_*.a
根據自己實際情況找一下。大佬的網址寫的是添加的.dll,應該換成.a文件
在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("D:\\1.jpg", 1); // create image window named "My Image" cv::namedWindow("My Image"); // show the image on window cv::imshow("My Image", image); } MainWindow::~MainWindow() { delete ui; }
上面參考的網站中大佬的文件路徑寫錯了,導致程序崩潰。
主要是大佬的思路,我只是略做修改,感謝大佬的分享。