博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV与QT联合开发示例
阅读量:6435 次
发布时间:2019-06-23

本文共 1481 字,大约阅读时间需要 4 分钟。

1、OpenCV及QT开发环境搭建

 

 

2、工程创建

1、导入Qt项目

选择:QT VS Tools->Open Qt Project File(.pro)…

 

2、新建Qt项目

1、选择:文件->新建->项目->测试->Qt GUI Application,输入工程名,下一步…进行新建。

 

2、“next”下一步

 

3、选择依赖的模块:最基础的QtCore、QtGui、QtWidgets还有一些音/视频、网络、数据库、XML、OpenGl相关的模块,需要使用的直接勾选即可。

 

4、finish(具体设置以后有机会在写)

 

3、OpenCV工程创建

1、 选择test.ui -> 打开方式 -> Qt Designer -> 确定

 

2、 拉一个OPenGL控件到窗体上

 

3、 改控件名字为mat->在对象查看器中选中控件——>右键选择提升为...

 

4、 提升的类名称:MatView -> 点击添加 ->提升 -> ctrl + F 保存界面 ,如下图

 

5、 Header Files右键 -> 类导向 -> 添加类 -> 类命:MatView -> 完成 -> 确认,如下图

6、点击添加类

 

 7、点击应用并确定

 

8、 MatView.h代码

#pragma once//导入相应的库#include 
//继承QOpenGLWidgetclass MatView :public QOpenGLWidget{ Q_OBJECTpublic://构造函数 MatView(QWidget *p); ~MatView(); //重载一个函数 void paintEvent(QPaintEvent *e);};

 

 

 

9、 MatView.cpp代码

 
#include "MatView.h"#include
#include
#include
#include
#include
using namespace cv;//重载一个函数,只要窗口发生变化他都会调用,这个函数不能处理业务逻辑,只做处理图像void MatView::paintEvent(QPaintEvent *e) { Mat src = imread("D://1.jpg"); QImage img(src.data, src.cols, src.rows, QImage::Format_RGB888); QPainter painter; painter.begin(this); painter.drawImage(QPoint(0, 0), img); }//构造函数,调用父类的,因为父类还有处理在里面,所以要调用它MatView::MatView(QWidget *p) :QOpenGLWidget(p){}MatView::~MatView(){}

  

 

 

 

10、 main.cpp代码不用改动

 
 

 

11、 导入OpenCV库,参照

12、 运行代码

代码不重要,重要是如何配置,直接运行代码,可能因为系统+环境不同出错

13、 效果图

 

参考资料:

OpenCV实例精解

转载于:https://www.cnblogs.com/noticeable/p/9651612.html

你可能感兴趣的文章
tomcat参数配置说明
查看>>
Secondary Market
查看>>
linux目录架构
查看>>
golang 坑集
查看>>
bash: non-login shell和login shell的区别
查看>>
Linux 中直接 I/O 机制的介绍
查看>>
emacs 23 not found package
查看>>
将音频编解码器整合进新一代SoC的技术挑战和设计实现
查看>>
经典排序算法
查看>>
都是inline惹的祸
查看>>
centos warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
查看>>
Android和PC端不能正常进行AES解密的问题
查看>>
php面试题目(中等水平)
查看>>
<sstream>string到int的转换
查看>>
POI导出Excle HSSF
查看>>
Java中调用Delphi编写的DLL
查看>>
Lua读取URL内容
查看>>
第一章:The Missing Code Library--8.避免不合要求的echo方法
查看>>
给gridview动态生成radiobutton添加OnCheckedChanged事件
查看>>
.gitignore文件无效的原因以及解决方式
查看>>