QT自定义opengl的Widget绘制Mat

Posted 千里之行始于足下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT自定义opengl的Widget绘制Mat相关的知识,希望对你有一定的参考价值。

QT自定义opengl的Widget绘制Mat

  • 宽高 512

 
  • 修改名字mat
  • 自定义类型 提升为


 
  • 提升为MatView类

 
  • 类型已经改变为MatView

 
  • 新建MatView类cpp文件

 
  • 添加头文件
  • 修改构造函数(函数实现,调用父类构造函数)
  • 添加宏定义


 
  • 重载绘制函数
  • 只显示图片使用paintEvent()
  • 若绘制视频相关,需要使用repaint、update相关函数

 
  • 只要窗口发生变化,都会调用该函数(如:窗口移动了,所以相关业务逻辑,不能放入,只做绘图的业务)

 
  • 工程文件配置
  • opencv配置
  • 输出目录
  • 调试目录
  •  头文件目录
  • 链接器目录
  •  链接器文件
 
  • 引入头文件

 
定义QImage类型
  • 文件源数据(opencv读入的文件)
  • 宽高
  • 数据格式

 读入图片,并定义QImage

qt内定义图片类型格式
  • 每个像素一个字节 8位,也就是RGB888;同理RGB555,也就是每个像素5位
 
绘制显示图片
  • 第一步 清理
  • 第二步 绘制图片

 
显示的效果原因:
  • opencv读入图片默认为BGR顺序,转换为RGB模式

 
 
使用OpenGL绘制图片的优点:
  • 后期处理非常方便,如图象的选择区ROI,添加文字、按钮等。
 
 


   博客 2017年8月23日13:36:09

以上是关于QT自定义opengl的Widget绘制Mat的主要内容,如果未能解决你的问题,请参考以下文章

在QT环境下用OpenGL绘制一个边长为5的立方体,并为立方体贴上自定义纹理。写出实现该功能的具体

Qt编写自定义控件5-柱状温度计

基于Qt的OpenGL可编程管线学习- FBO的使用

Qt中添加自定义位置Widget

Qt入门系列开发教程基础控件篇小部件(所有控件的基类QWidget)

Qt5.5下捕获一个带有OpenGL内容的Widget