Qt添加OpenCV库

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

创建一个工程,并且加入下面的代码,运行测试即可。

#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模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值