您的位置:首页 > 编程语言 > Qt开发

Qt图像实时采集及边缘提取(多线程)

2020-02-17 04:14 633 查看

Qt图像实时采集及边缘提取(多线程)

思路

程序采用c++ qt多线程qthread作为系统的多线程系统,利用生产者消费者模型实现多线程数据处理,并利用opencv库进行图像滤波与Canny算子的边缘提取。并利用QT实现上位机显示。
采集到的图像通过线程间同步,传递给图像处理线程,图像处理工作为提取图像边缘,处理完成后把边缘图像传递到显示线程

结果

代码

Github地址
Gitee

程序结构

UML 图表

图像采集图像处理图像显示通过qq1进行生产者、消费者数据传输通过qq2进行生产者、消费者数据传输图像采集30ms、 图像显示30ms、图像处理10ms图像采集图像处理图像显示

流程图

图像采集线程

Created with Raphaël 2.2.0开始使用opencv抓取图像将图像转换为灰度图生产者:装入qq1中结束

图像处理线程(边缘提取)

Created with Raphaël 2.2.0开始qq1是否有“产品”高斯滤波Canny边缘提取生产者:装入qq2中结束yesno

图像显示线程

Created with Raphaël 2.2.0开始qq2是否有“产品”在主界面上显示结束yesno

依赖

opencv

版权

有版权信息,注意主窗体和主程序中的版权信息,请自行去除,主窗体标题栏以及主程序

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Wisdomfly_L 发布了3 篇原创文章 · 获赞 0 · 访问量 76 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: