opencv实现实时“无脸男”
技术方案:
- Opencv图像处理
- 人脸关键点识别
实现流程
这个方案主要采用提取静态场景以及后期根据人脸关键点识别合成图片,最终实现“无脸男”的效果。
核心代码
if (landmarks.size() > 0&&!backgroundImg.empty()) {//one channel black imagecv::Mat mask = cv::Mat::zeros(srcImg.size(), CV_8UC1);//置人脸区域的颜色为白色cv::fillConvexPoly(mask, landmarks.data(), landmarks.size(), cv::Scalar(255));//通过findContours寻找人脸区域的轮廓,approxPolyDP对图像轮廓点进行多边形拟合。std::vector<cv::Point> contour;std::vector<std::vector<cv::Point>> contours;cv::findContours(mask, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_TC89_KCOS);cv::approxPolyDP(contours[0], contour, 1.0, true);int width = srcImg.cols;int height = srcImg.rows;//将人脸区域内的像素点替换为背景图像的像素for(int i=1;i<=height;i++){for(int j=1;j<=width;j++){cv::Point point(j,i);if(cv::pointPolygonTest(contour,point,false)>=0){srcImg.at<cv::Vec4b>(i,j) = backgroundImg.at<cv::Vec4b>(i,j);}}}}
源码地址,欢迎star
FacelessPerson
opencv实现实时“无脸男”相关推荐
- python 无脸男
这是我们组画的无脸男 在画图过程中我们组对无脸男的脸型有不同的想法.于是产生了下面的视频O(∩_∩)O 欢迎大家观看!https://www.bilibili.com/video/av35869775 ...
- 【强行点出机械师天赋,修复无脸男储钱罐】
事情是这样的,前两天在往储钱罐里投币的时候,突然有一个很大胆的想法"如果把它电池拔了会怎样?" en ,年轻人有想法就要勇敢的去尝试,所以就悲剧了.... 这就是拔了电池后 ...
- 千与千寻无脸男的真面目 无脸男为什么对千寻好
无脸男,又叫"无颜",是日本动画大师宫崎骏的电影作品<千与千寻>中的主要角色之一.他是一只神秘的鬼怪,全身黑色,头带一个白色面具.他跟现代社会里的人们一样,渴望交到朋友 ...
- Y05 - 019、听见无脸男的声音
初学耗时:0.5h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 一.听见无脸男的声音 记忆词: ... Y05 - 999.Python - 风变编程 ギ 舒适 ...
- 基于OpenCV的实时面部识别
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 我们将使用一些简单的代码来实现实时面部识别代码,我们可以对个人的面 ...
- python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容
python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容 1 pyzbar二维码检测模块 1.1. pyzbar模块介绍 1.2 pyzbar ...
- Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]
1.图片演示 2.视频演示 [项目分享]Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]_哔哩哔哩_bilibili 3.检测方法 1)方法 与用于计算眨眼的传统 ...
- Maestro Z实时无标记细胞分析仪,评估免疫细胞治疗效价
推荐阅读: <评估免疫细胞治疗效价,Maestro Z实时无标记细胞分析仪> 美国Mastro Z实时无标记细胞分析仪,是基于阻抗技术研发的第三代无标记.实时.非侵入式细胞分析设备,于20 ...
- 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)
1.研究背景 汽车主动安全系统能够实现风险的主动预防和规避,其能有力缓解当前我国汽车交通事故频发的困境,故对其的相关研究得到了国家的大力支持. 车道保持辅助系统(LKAS,Lane Keeping A ...
最新文章
- java agv,Java 访问控制关键字
- 2017/5 JavaScript基础4--- 表达式、运算符
- LINUX内核之内存屏障
- arm-linux-gcc/ld/objcopy/objdump使用总结[zz]
- javascript中的cookie问题
- 【Python实例第22讲】不同聚类算法的比较分析
- 使用curl来调试你的应用
- 建立域信任关系后,查找位置中看不到另一个域的信息
- docker安装nacos并配置mysql数据库教程
- 中国城市群产业建设风险与投资发展决策建议报告2022版
- 使用openwrt-SDK 生成IPK
- maven 汉字转拼音
- 指数历史估值源码分享,寻找最佳底部机会!
- WebSocket实现聊天功能
- padavan手动安装php
- 有没有一款桌面便签软件,可以手机电脑都能使用的?
- >> 读书记录_2021
- 开源聚合支付平台学习
- 编程是门艺术_是编程艺术吗?
- 常用的在线JS解密工具