参考: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#include 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; }
上面参考的网站中大佬的文件路径写错了,导致程序崩溃。
主要是大佬的思路,我只是略做修改,感谢大佬的分享。