1、软件环境
- Qtcreator Qt5.12.1
- Windows10 64位系统
- cmake3.13.2
- opencv3.4.16
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
选择完编译器后,等待cmake配置完成。
配置完成后,在cmake gui界面中间找到WITH_OPENGL、WITH_QT并选中,取消WITH_IPP勾选
然后再次点击Configure按钮。
等待Configure配置结束,会有几行红色的,需要手动添加Qt路径,对应路径如下:
-QT_QMAKE_EXECUTABLE D:/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
添加完成后,再次点击Configure,这次没有标红的选项。然后点击Generate。结束后,关闭对话框即可。
4、编译OpenCV
打开cmd命令窗口,进入D:\develop\code\opencv\opencv-3.4.16\build\,也就是我们刚刚配置opencv指定的生成目录。输入mingw32-make命令,开始构建。时间比较长,请耐心等待。
编译完成后,我们输入```mingw32-make install``命令进行安装。这样,可用于Qt的opencv库就生成了。
5、添加OpenCV到Path环境变量
将编译完成的D:\develop\code\opencv\opencv-3.4.16\build\bin路径加入系统Path环境变量中。
6、配置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
创建一个工程,并且加入下面的代码,运行测试即可。文章来源:https://www.toymoban.com/news/detail-735231.html
#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;
}
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓文章来源地址https://www.toymoban.com/news/detail-735231.html
到了这里,关于Qt添加OpenCV库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!