1.软件环境
- Qtcreator Qt5.12.1
- Windows10 64位系统
- cmake3.13.2
- opencv3.4.16
下载地址
QT: http://download.qt.io/archive/qt/
cmake: https://cmake.org/download/
Opencv: http://opencv.org/releases.html#
2. 系统环境变量设置
首先,我们将CMake和Qt安装路径下的bin加入系统环境变量。
cmake路径:
D:\develop\IDE\CMake\bin
Qt路径: (这三个路径一个都不能少,否则后面opencv无法运行)
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\bin\
D:\develop\IDE\qt\Qt5.12.1\Tools\mingw730_64\bin\
D:\develop\IDE\qt\Qt5.12.1\Tools\mingw730_64\x86_64-w64-mingw32\bin\
3. 配置CMake
- 我们首先解压opencv源代码。并且在源代码文件夹中新建一个build
文件夹,用于保存构建后的文件。笔者的opencv源码路径为:D:\develop\code\opencv\opencv-3.4.16\
, build文件夹为D:\develop\code\opencv\opencv-3.4.16\build\
- 双击cmake,打开cmake gui界面,将source和build路径添加到选择框中。
- 点击Configure,下拉框选择MinGW Makefiles,然后选择Specify native compilers。
- 配置C和C++编译器,选择Qt带的mingw编译器
- C:
D:\develop\IDE\qt\Qt5.12.1\Tools\mingw730_64\bin\gcc.exe
- C++:
D:\develop\IDE\qt\Qt5.12.1\Tools\mingw730_64\bin\g++.exe
- C:
- 选择完编译器后,等待cmake配置完成。
- 配置完成后,在cmake gui界面中间找到WITH_OPENGL、WITH_QT并选中,取消WITH_IPP勾选
然后再次点击Configure按钮。 - 等待Configure配置结束,会有几行红色的,需要手动添加Qt路径,对应路径如下:
-QT_QMAKE_EXECUTABLED:/develop/IDE/qt/Qt5.12.1/5.12.1/mingw73_64/bin/qmake.exe
- Qt5Concurrent_DIR:
D:/develop/IDE/qt/Qt5.12.1/5.12.1/mingw73_64/lib/cmake/Qt5Concurrent
- Qt5Core_DIR
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Core
- Qt5Gui_DIR
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Gui
- Qt5Test_DIR
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Test
- Qt5Widgets_DIR
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Widgets
- Qt5OpenGL_DIR
D:\develop\IDE\qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5OpenGL
- Qt5Concurrent_DIR:
- 添加完成后,再次点击Configure,这次没有标红的选项。然后点击Generate。结束后,关闭对话框即可。
4. 编译OpenCV
- 打开cmd命令窗口,进入
D:\develop\code\opencv\opencv-3.4.16\build\
,也就是我们刚刚配置opencv指定的生成目录。输入mingw32-make
命令,开始构建。时间比较长,请耐心等待。 - 编译完成后,我们输入```mingw32-make install``命令进行安装。这样,可用于Qt的opencv库就生成了。
4. 添加OpenCV到Path环境变量
将编译完成的D:\develop\code\opencv\opencv-3.4.16\build\bin
路径加入系统Path环境变量中。
5. 配置Qt中的OpenCV
在Qt项目中找到.pro文件。
在文件最后加入下面内容
INCLUDEPATH += D:\develop\code\opencv\opencv-3.4.16\build\install\include
LIBS += D:\develop\code\opencv\opencv-3.4.16\build\lib\libopencv_*.a
创建一个工程,并且加入下面的代码,运行测试即可。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
using namespace cv;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat image = imread("D:\\develop\\code\\opencv\\fss.jpeg");
namedWindow("dis", WINDOW_AUTOSIZE);
imshow("dis", image);
}
MainWindow::~MainWindow()
{
delete ui;
}