视频检测人脸添加帽子完美方案(代码片段)

米罗西 米罗西     2022-10-21     715

关键词:

Python版本可参考以下链接:
https://github.com/crossin/snippet/tree/master/face_detect

//
人脸宽度
//im为原始视频帧

  const std::string strPath = AppPath.substr(0, AppPath.rfind("\\\\")) + "\\\\" + "hat8.png";


 Mat m_hatImg = imread(strPath, -1);//带alpha通道的图片如果仍要保留alpha通道,imread的第二个参数必须是-1


int faceWidth = face_info_list[best_index].face.right - face_info_list[best_index].face.left; int faceHeight = face_info_list[best_index].face.bottom - face_info_list[best_index].face.top; //人脸与帽子的比例 float scale = (float)(faceWidth) / (float)m_hatImg.cols * 2.7; Mat hatScale; m_hatImg.copyTo(hatScale); //缩放帽子 resize(hatScale, hatScale, Size(), scale, scale); //imwrite("F:\\\\HappyNewYear\\\\hatImg_new.png", hatScale); //人脸正中位置坐标 int face_mid_x = face_info_list[best_index].face.left + faceWidth / 2; int face_mid_y = face_info_list[best_index].face.top - hatScale.rows/5; //帽子左上位置坐标 int hat_offset_x = face_mid_x - hatScale.cols / 2; int hat_offset_y = face_mid_y - hatScale.rows / 2; //调整,以免超出边界 //x1 帽子左上角x坐标 //x2 帽子右上角x坐标 int x1 = max(hat_offset_x, 0); int x2 = min(hat_offset_x + hatScale.cols, im.cols); //y1 帽子左上角y坐标 //y2 帽子右上角y坐标 int y1 = max(hat_offset_y, 0); int y2 = min(hat_offset_y + hatScale.rows, im.rows); //调整坐标 int hat_x1 = max(0, -hat_offset_x); int hat_x2 = hat_x1 + x2 - x1; int hat_y1 = max(0, -hat_offset_y); int hat_y2 = hat_y1 + y2 - y1; Mat ROI = im(cv::Rect(x1, y1, hat_x2- hat_x1, hat_y2 - hat_y1)); channels.clear(); src_channels.clear(); Mat hatROI = hatScale(cv::Rect(hat_x1, hat_y1, hat_x2 - hat_x1, hat_y2 - hat_y1)); split(hatROI, channels); split(ROI, src_channels); for (int i=0;i<3;i++) src_channels[i]= src_channels[i].mul(255.0 / 1.0 - channels[3], 1.0 / 255.0); src_channels[i] += channels[i].mul(channels[3], 1.0 / 255.0); merge(src_channels, ROI);

效果如下:

opencv添加中文——(代码片段)

...环境搭建(一)》《图片人脸检测——OpenCV版(二)》《视频人脸检测——OpenCV版(三)》《图片人脸检测——Dlib版(四)》效果预览实现思路使用PIL的图片绘制添加中文,可以指 查看详情

图像处理项目——人脸检测—视频(代码片段)

...使用的是opencv中的Haart特征分类器,harrCascades*检测对象为视频中的人脸 一:主要步骤1.加载分类器,将人脸检测分类器和笑脸检测分类器放在项目目录中去2.调用detecMutiScale()函数检测,对函数中相关的参数进行修改调整, ... 查看详情

mtcnn移植安卓并检测视频中人脸(代码片段)

继续此前的文章,使用vlc播放了rtsp流媒体视频后,想检测视频中的人脸,之前采用了opencv但是遇到低头、抬头和侧脸时候,效果就不太好。所以本篇介绍如何使用mtcnn来检测视频中的人脸。在这里也免费发布了一... 查看详情

mediapipe之人脸特征点468检测(代码片段)

...都支持,举几个常用的例子:人脸检测FaceMesh:从图像/视频中重建出 查看详情

mediapipe之人脸特征点468检测(代码片段)

...都支持,举几个常用的例子:人脸检测FaceMesh:从图像/视频中重建出 查看详情

虹软人脸识别-faceid及ir活体检测的介绍(代码片段)

...?新增IR、RGB的活体阈值设置一、faceId介绍1.定义在连续的视频帧中,当一个人脸进入视频画面直到离开,其faceId不变。2.应用场景举例在门禁应用场景下,若一个人长时间停留在画面中,借助faceId的功能,在此人的人脸特征提取... 查看详情

基于dlib人脸检测(图像视频)demo(代码片段)

1、Dlib是一个深度学习开源工具,基于C++开发,也支持Python开发接口2、由于Dlib对于人脸特征提取支持很好,很多训练好的人脸特征提取模型提供开发者使用,所以Dlib人脸识别开发很适合做人脸项目开发官网... 查看详情

基于dlib人脸检测(图像视频)demo(代码片段)

1、Dlib是一个深度学习开源工具,基于C++开发,也支持Python开发接口2、由于Dlib对于人脸特征提取支持很好,很多训练好的人脸特征提取模型提供开发者使用,所以Dlib人脸识别开发很适合做人脸项目开发官网... 查看详情

无法从 emgucv 中的视频中检测到人脸

】无法从emgucv中的视频中检测到人脸【英文标题】:Notabletodetectfacefromvideoinemgucv【发布时间】:2018-10-1501:59:00【问题描述】:通过在C#中使用Emgucv,我能够从图像中检测人脸,但无法从视频中检测人脸。在我的解决方案中,视频... 查看详情

利用机器学习(mediapipe)进行人脸468点的3d坐标检测--视频实时检测(代码片段)

...的图片检测代码实现过程,我们我们介绍一下如何在实时视频中,进行人脸468点的坐标检测。importcv2importmediapipeasmpmp_drawing=mp.solutions.drawing_utilsmp_face_mesh=mp.solutions.face_meshface_mesh=mp_face_mesh.FaceMesh(min_detection_confidence=0.5,min_tracking_con... 查看详情

基于opencv的视频处理-人脸检测(代码片段)

...脸进行检测,防止痴呆后忘了Quiet。目录基于OpenCV的视频处理-人脸检测拍摄影片检测人脸保存面孔和摘要视频输出运行中的管道作者有言基于OpenCV的视频处理-人脸检测目前可依靠模块化方式实现图像处理管道,检测一堆... 查看详情

dlib库包的介绍与使用,opencv+dlib检测人脸框opencv+dlib进行人脸68关键点检测,opencv+dlib实现人脸识别,dlib进行人脸特征聚类dlib视频目标跟踪(代码片段)

...pencv+dlib进行人脸识别4.3人脸识别总结5dlib人脸聚类6dlib视频目标跟踪1dlib库介绍dlib官网:http://dlib.net/dlib模型文件和源码下载:http://dlib.net/files/dlib介绍dlib人脸检测与人脸识别2dlib人脸检测:绘制出人脸检测框2.1dlib... 查看详情

视频捕捉人脸检测-安卓

】视频捕捉人脸检测-安卓【英文标题】:VideoCapturingFaceDetection-Android【发布时间】:2016-02-2506:38:08【问题描述】:为了在视频捕获期间跟踪/检测面部。我已经达到能够捕获和存储视频。现在我在其中添加人脸检测。我现在正在... 查看详情

javascript人脸检测的实现方法(代码片段)

...,我们如何从静态图片中检测脸,眼睛和嘴巴。我一直对视频和图片中的人脸标记、检测和人脸识别技术很感兴趣。尽管我知道获取逻辑和算法去开发人脸识别软件或者插件已经超出了我的想象。当我知道Javascript库 查看详情

如何将网络摄像头选择添加到官方 mediapipe 人脸检测解决方案?

】如何将网络摄像头选择添加到官方mediapipe人脸检测解决方案?【英文标题】:Howtoaddwebcamselectiontoofficialmediapipefacedetectionsolution?【发布时间】:2021-10-2413:47:33【问题描述】:https://google.github.io/mediapipe/solutions/face_detection#javascript-... 查看详情

利用opencv带你玩转人脸识别-中篇(人脸检测,检测多个,视频检测快速入门)(代码片段)

🐚作者简介:苏凉(专注于网络爬虫,数据分析)🐳博客主页:苏凉.py的博客🌐系列专栏:python-opencv快速入门👑名言警句:海阔凭鱼跃,天高任鸟飞。📰要是觉得博主文章写... 查看详情

基于opencv的图片和视频人脸识别(代码片段)

...例】识别图片中多张人脸🍗运行效果: 🍖视频中的人脸检测🍗【示例】识别视频中人脸🍗运行效果:🥩人脸识别🍖训练数据🍗【示例】训练数据🍗【示例】基于LBPH的人脸识别🍗... 查看详情

python到底有多强大?只需15行代码即可进行人脸检测(代码片段)

...人工智能的计算机技术,能够识别和定位数码照片和视频中人脸的存在。简而言之,机器检测图像或视频中人脸的能力。由于人工智能的重大进步,现在可以检测图像或视频中的人脸,无论光照条件、肤色、头部... 查看详情