Qt/C++音视频开发39-海康sdk回调拿到数据GPU绘制的实现

本文介绍了如何在Qt/C++中利用海康SDK的回调功能获取视频帧,并通过GPU进行绘制,以降低CPU占用。详细讲解了实现过程,包括前言、效果图、代码及相关功能特点,如基础的音视频支持、特色功能,以及视频控件的详细设计和优化。此外,提供了相关资源链接和代码示例。
摘要由CSDN通过智能技术生成

一、前言

采用海康的sdk做开发,最简单最容易的方式就是传入句柄(windows和linux都支持/很多人以为只有windows才支持)即可,这种方式不用自己处理绘制,全部交给了sdk去处理,所以cpu的占用是最低的;还有一种方式是回调函数拿到视频帧数据转成qimage绘制,这种方式优点很明显,能够拿到一张张图片数据,可以任意用来做人工智能算法处理等,缺点是如果采用qpainter绘制,那走的是cpu运算,在低配置的硬件上很耗费cpu,所以需要第三种方式来折中一下,既能拿到每一张图片,又能采用gpu绘制,这下思路出来了,意味着如果qopenglwidget可以直接绘制qimage就好,当然是支持的,qopenglwidget肯定支持rgb数据的绘制,于是只需要将qimage.data的数据传出来交给qopenglwidget绘制就好。亲测下来cpu占用比纯painter绘制下降不少,但是还是比句柄方式要高一些,毕竟回调拿到数据是yv12格式,需要转换成yuv格式,这个转换运算走的是cpu运算。

公众号:Qt实战,各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发。

公众号:Qt入门和进阶,专门介绍Qt/C++相关知识点学习,帮助Qt开发者更好的深入学习Qt。多位Qt元婴期大神,一步步带你从入门到进阶,走上财务自由之路。

官方店:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值