Qt音视频开发44-实时人脸框
一、前言
在人脸识别到以后,需要在实时视频上将所有人脸框绘制出来,一把来说识别人脸会有多种选择,一个是识别最大人脸,这种场景主要用于刷脸门禁,还有一种是识别所有人脸,这种场景主要用于人脸识别摄像机,就是将画面中的所有人脸识别出来发给服务器,人脸框的数据主要是四个参数,左上角和右下角的位置,也可以说是x、y、width、height,可能有些做的比较好的还有倾斜角度,这个意义不是很大,人脸识别的速度一般都是飞快的,就算你用学习上用的opencv做识别也是非常快的,基本上都是毫秒级的响应,主要的耗时操作在特征值的提取,所以一般要求能够响应每个通道每秒钟25帧-30帧的画面绘制+人脸框的绘制,当然人脸框的数据可能会有多个。
用Qt来绘制人脸框,核心就是一个函数,调用QPainter的drawRect方法,传入区域即可,如果花哨点的话还可以设置边框的粗细和颜色、圆角角度等,注意圆角角度使用的是drawRoundedRect而不是drawRoundRect,很多人这里会搞错哦。近期接触的项目对人脸框的要求越来越多,之前是让用户自己拿到图片来绘制,近期索性直接将这个功能内置到视频控件中(视频控件封装了多种内核版本,有ffmpeg、vlc、mpv、海康sdk等),提供了可设置边框粗细、颜色,传入人脸框区域集合的接口,用户只要自己的算法分析拿到人脸的区域集合(用户是上帝,用户的需求就是我的需求),通过setFaceRects函数设置即可,如果要清空人脸,只要设置人脸框区域集合为空即可。总体测试下来速度非常快,可以忽略,采用的QOPenGLWidget绘制
Qt音视频开发44-实时人脸框相关推荐
- 【Android音视频开发】- 实时采集视频
前言 通过我的上一篇文章,可以知道直播大致有几个步骤:音视频采集 -> 美颜/滤镜/特效处理 -> 编码 -> 封包 -> 推流 -> 分发 -> 解码/渲染/播放 ...
- Qt音视频开发27-Onvif设备搜索
一.前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成.做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大 ...
- Qt音视频开发06-海康sdk内核linux客户端
一.前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windo ...
- Qt音视频开发01-共享解码线程(耗时一年/性能凶残/至臻完美)
一.前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制.时间过得真快,从当初的一胎到现在二胎都上学了三胎计 ...
- QT 音视频开发 基于gstreamer框架
在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备).国内不太常用的解决方案gstreamer gs ...
- Qt音视频开发02-海康sdk解码(支持句柄/回调/GPU模式/支持win/linux)
一.前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很 ...
- Qt音视频开发26-ffmpeg播放器
一.前言 用ffmpeg来实现自己的播放器,这是一直以来的一个目标,之前的难点卡在音视频同步以及如何播放声音这两点(尽管之前已经进行过不少的尝试和探索,但是问题还是挺多,比如音视频同步不完美,有些文件 ...
- Qt音视频开发22-音频播放QAudioOutput
一.前言 以前一直以为只有Qt5以后才有QAudioOutput播放音频,其实从Qt4.6开始就有,在Qt6中变成了QAudioSink,功能一样.用QAudioOutput播放音频pcm数据极其方便 ...
- Qt音视频开发24-ffmpeg音视频同步
一.前言 用ffmpeg来做音视频同步,个人认为这个是ffmpeg基础处理中最难的一个,无数人就卡在这里,怎么也不准,本人也是尝试过网上各种demo,基本上都是渣渣,要么仅仅支持极其少量的视频文件比如 ...
最新文章
- 转:RemObjects SDK 简介
- 读样章、写评语,即有机会获赠《编程大师访谈录》!
- 工作中常用的linux命令梳理
- opencv亚像素点检测
- 如何使用GitHub Action自动发布JAR到Maven仓库
- 老李分享:shell 监控cpu,memory,load average 1
- 自动化测试框架搭建-邮件-5
- springMVC如何接收和发送json数据对象
- 重磅!就在刚刚,吊打一切的 YOLOv4 开源了!
- Xen虚拟机迁移技术
- Elasticsearch 索引容量管理实践
- 『中级篇』Docker Cloud自动构建 Docker image(55)
- 项目常用第三方库 Swift版
- JavaScript中的位置协议属性
- LVS在淘宝环境中的应用
- 【JUC】JDK1.8源码分析之ConcurrentHashMap
- Linux新加硬盘添加一个新的LVM磁盘组
- Java 操作 EXCEL
- Android横竖屏切换的解决方法
- 大陆身份证号码格式校验代码
热门文章
- 全国计算机基础一级考试试题,全国计算机一级MSOffice考试试题及答案
- linux下的16进制编辑器,Linux下的16进制编辑器 Tweak
- CSGO国内开箱网站大全incsgo skinsdog coolkaixiang 88steam
- MedCalc v20.217 医学ROC曲线统计分析参考软件
- 关于Vue下组件引入第三方外部Js几种方式
- wordpress主题速度_提升WordPress速度和性能的终极指南
- 谁在制造“完美男性”?
- php 数据处理:数组根据某字段进行分组
- Jmeter实现生成全局参数-随机数
- 鸿蒙汽修大明路店,为啥很多车主在4S店首保之后都会选择汽修厂保养?老司机说出原因...