Qt音视频开发44-实时人脸框
2023-09-14 09:01:41 时间
一、前言
在人脸识别到以后,需要在实时视频上将所有人脸框绘制出来,一把来说识别人脸会有多种选择,一个是识别最大人脸,这种场景主要用于刷脸门禁,还有一种是识别所有人脸,这种场景主要用于人脸识别摄像机,就是将画面中的所有人脸识别出来发给服务器,人脸框的数据主要是四个参数,左上角和右下角的位置,也可以说是x、y、width、height,可能有些做的比较好的还有倾斜角度,这个意义不是很大,人脸识别的速度一般都是飞快的,就算你用学习上用的opencv做识别也是非常快的,基本上都是毫秒级的响应,主要的耗时操作在特征值的提取,所以一般要求能够响应每个通道每秒钟25帧-30帧的画面绘制+人脸框的绘制,当然人脸框的数据可能会有多个。
用Qt来绘制人脸框,核心就是一个函数,调用QPainter的drawRect方法,传入区域即可,如果花哨点的话还可以设置边框的粗细和颜色、圆角角度等,注意圆角角度使用的是drawRoundedRect而不是drawRoundRect,很多人这里会搞错哦。近期接触的项目对人脸框的要求越来越多,之前是让用户自己拿到图片来绘制,近期索性直接将这个功能内置到视频控件中(视频控件封装了多种内核版本,有ffmpeg、vlc、mpv、海康sdk等),提供了可设置边框粗细、颜色,传入人脸框区域集合的接口,用户只要自己的算法分析拿到人脸的区域集合(用户是上帝,用户的需求就是我的需求),通过setFaceRects函数设置即可,如果要清空人脸,只要设置人脸框区域集合为空即可。总体测试下来速度非常快,可以忽略,采用的QOPenGLWidget绘制
相关文章
- [Qt教程] 第21篇 数据库(一)Qt数据库应用简介
- CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)
- Qt音视频开发08-ffmpeg内核优化(极速打开/超时回调/实时响应)
- Qt音视频开发32-Onvif网络设置
- Qt编写物联网管理平台13-短信告警
- Qt中实时更新UI程序示例
- Qt 蓝牙开发
- Qt 处理相机图像实时显示引入队列,防止数据读写冲突导致卡顿、崩溃
- Qt QTreeWidget控件函数
- Qt 使用QGraphicsItem绘制复杂的图形
- Qt .pro和.qrc创建及介绍
- C++ Qt开发——元对象系统&布局管理器
- 【Qt+FFmpeg】 - FFmpeg解码详细流程
- QT QTableWidget 用法总结
- Qt下使用DbgHelp和SetUnhandledExceptionFilter来获取Crash log/dump文件
- 解决 QT 界面中文显示乱码问题
- qt预编译头文件,果然快了很多
- 收集的一些开源的QT地面站项目
- qt 实现RTSP&RTMP拉流,实时显示视频流
- QT中文显示乱码解决方式
- 【Qt】通过继承ui界面类的方式加载.ui转化的.h头文件显示窗体
- Qt连接MySQL