【python】30行代码实现视频中的动漫人脸检测(opencv)
视频展示
https://www.bilibili.com/video/BV1hA411p7R9
动图展示
单图展示
依赖模块
pip install opencv-python
pip install tqdm
完整代码
import cv2
from tqdm import tqdmdef face_detect(img, cascade_name):img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)img_gray = cv2.equalizeHist(img_gray)face_cascade = cv2.CascadeClassifier(cascade_name)faces = face_cascade.detectMultiScale(img_gray)for (x, y, w, h) in faces:img = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 255), 5)return imgdef video_detect(file_name, cascade_name):video = cv2.VideoCapture(file_name) # 加载视频fps = video.get(cv2.CAP_PROP_FPS) # 帧率w = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) # 宽h = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 高fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') # 指定视频编码方式videoWriter = cv2.VideoWriter('result.mp4', 0x7634706d, fps, (w, h)) # 创建视频写对象frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT)) # 视频总帧数for i in tqdm(range(frame_count)): # 帧数遍历success, img = video.read() # 读取视频帧img = face_detect(img, cascade_name) # 帧检测videoWriter.write(img) # 视频对象写入if __name__ == "__main__":video_detect('test.mp4', 'lbpcascade_animeface.xml')
必要组件
lbpcascade_animeface.xml
:点击下载
温馨提示
lbpcascade_animeface.xml
是用于检测动漫人脸的,如果你想检测三次元人脸或猫脸,可以分别使用以下文件:
haarcascade_frontalface_alt.xml
:点击下载haarcascade_frontalcatface.xml
:点击下载
注意事项
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')
指定视频的编码方式为mp4v
。cv2.VideoWriter
的第2个参数需要填视频的编码方式。但为什么我这里填的是0x7634706d
而不是fourcc
?
因为直接填fourcc
会报错:
OpenCV: FFMPEG: tag 0x5634504d/'MP4V' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'
而填0x7634706d
可以避免报错。
相关推荐
【python】15行代码实现动漫人脸检测(opencv)
【python】15行代码实现人脸检测(opencv)
【python】15行代码实现猫脸检测(opencv)
【python】30行代码实现视频中的动漫人脸检测(opencv)相关推荐
- 【python】动漫人脸检测算法汇总(lbp+mlp+hog+ssd)
不同算法检测结果对比图 文章目录 1. 写在前面 2. 测试样例 3. 测试设备 4. 人脸检测 4.1. 基于LBP的动漫人脸检测 4.1.1. 仓库地址 4.1.2. 环境配置 4.1.3. 示例 ...
- python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...
- python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...
- 50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...
- 太厉害了!30行代码抓取上万个小姐姐跳舞视频,有点飘了~
点上方"菜鸟学Python",选择"星标" 第481篇原创干货,第一时间送达 大家好,我是菜鸟哥!这个我第481篇原创! 今天又给大家带来一个有趣的Python ...
- vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定
办公自动化系列+1 现在,各类数据分析的书籍,都可以在网上找到PDF版本: 同时,百度文库.各类数据统计文库.行业研究等众多论文报告,是通过PDF的形式去展示输出的: 但是,令人都头疼的是,各类数据分 ...
- python你TM太皮了——区区30行代码就能记录键盘的一举一动
先看看效果 Like This↓ 一.公共WiFi 公用电脑什么的 在我们日常在线上工作.玩耍时,不论开电脑.登录淘宝.玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝.百度.126邮箱等等 为 ...
- 一个包含30行代码的Python项目:如何在您最喜欢的Twitcher流式传输时设置SMS通知...
Hi everyone :) Today I am beginning a new series of posts specifically aimed at Python beginners. Th ...
- python 字符视频_Python20行代码实现视频字符化
Python20行代码实现视频字符化 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触opencv模块, ...
- Python程序员30行代码素描表白!网友:花里胡哨
总有人说程序员不够浪漫!其实我们只是没时间而已,等我们有时间了,还有普通人什么事儿?最近就有一个小伙伴上热搜了! 原来他用Python给可爱的女朋友画了一幅素描!不到30行代码,一起来学学给她一个惊喜 ...
最新文章
- IE和火狐都支持的方法(输入用户名和密码后按下 enter 键)
- oracle可视化工具IB,oracle小记:dba_data_files
- mysql 查询实体_mysql – 如何优化实体框架查询
- 弯道极限超车、击败人类顶级玩家,索尼AI赛车手登上Nature封面
- 网络回溯分析技术八大应用之运维评估 网络运维的真正价值
- 手写自己的MyBatis框架-MapperProxy
- [WebKit] JavaScriptCore解析
- javascript --- 异步按顺序执行
- matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...
- iOS开发那些事-Git在Xcode中的配置与使用
- mysql学习笔记(常用语句)
- CocosCreator矢量绘图组件(2)
- PHP之ctype扩展
- 包装类的自动装箱,自动拆箱
- ps导出的gif图片不能动,或是只能动一次的解决办法
- redis之可视化工具
- 文献科普|DNA甲基化通过CTCF和黏着蛋白复合物调节选择性聚腺苷酸化
- ASCLL字母表顺序
- 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴
- 【Java / Kotlin】Warning:Leaking ‘this‘ in constructor of non-final class
热门文章
- 观大数据有感_读大数据时代有感
- Keras 手写数字辨识
- 摆脱对PC、服务器的依赖,英特尔“悄悄”在人工智能布下两颗棋子
- [手游项目2]-4- lua判断文件是否存在
- 损失函数------CTCLoss
- cnetos7安装mysql5.7.*详细说明(离线安装)
- 机器学习周记(第七周:Spacial Transformer Layer)2023.9.4~2023.9.10
- python 64位程序 打包用于32位系统_pyinstaller在64位系统下打包32位程序
- 企业缺少进项票,不用煞费苦心,税收优惠政策了解一下!
- TensorRT-介绍