视频展示

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')指定视频的编码方式为mp4vcv2.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)相关推荐

  1. 【python】动漫人脸检测算法汇总(lbp+mlp+hog+ssd)

    不同算法检测结果对比图 文章目录 1. 写在前面 2. 测试样例 3. 测试设备 4. 人脸检测 4.1. 基于LBP的动漫人脸检测 4.1.1. 仓库地址 4.1.2. 环境配置 4.1.3. 示例 ...

  2. python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...

  3. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  4. 50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  5. 太厉害了!30行代码抓取上万个小姐姐跳舞视频,有点飘了~

    点上方"菜鸟学Python",选择"星标" 第481篇原创干货,第一时间送达 大家好,我是菜鸟哥!这个我第481篇原创! 今天又给大家带来一个有趣的Python ...

  6. vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定

    办公自动化系列+1 现在,各类数据分析的书籍,都可以在网上找到PDF版本: 同时,百度文库.各类数据统计文库.行业研究等众多论文报告,是通过PDF的形式去展示输出的: 但是,令人都头疼的是,各类数据分 ...

  7. python你TM太皮了——区区30行代码就能记录键盘的一举一动

    先看看效果 Like This↓ 一.公共WiFi 公用电脑什么的 在我们日常在线上工作.玩耍时,不论开电脑.登录淘宝.玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝.百度.126邮箱等等 为 ...

  8. 一个包含30行代码的Python项目:如何在您最喜欢的Twitcher流式传输时设置SMS通知...

    Hi everyone :) Today I am beginning a new series of posts specifically aimed at Python beginners. Th ...

  9. python 字符视频_Python20行代码实现视频字符化

    Python20行代码实现视频字符化 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触opencv模块, ...

  10. Python程序员30行代码素描表白!网友:花里胡哨

    总有人说程序员不够浪漫!其实我们只是没时间而已,等我们有时间了,还有普通人什么事儿?最近就有一个小伙伴上热搜了! 原来他用Python给可爱的女朋友画了一幅素描!不到30行代码,一起来学学给她一个惊喜 ...

最新文章

  1. IE和火狐都支持的方法(输入用户名和密码后按下 enter 键)
  2. oracle可视化工具IB,oracle小记:dba_data_files
  3. mysql 查询实体_mysql – 如何优化实体框架查询
  4. 弯道极限超车、击败人类顶级玩家,索尼AI赛车手登上Nature封面
  5. 网络回溯分析技术八大应用之运维评估 网络运维的真正价值
  6. 手写自己的MyBatis框架-MapperProxy
  7. [WebKit] JavaScriptCore解析
  8. javascript --- 异步按顺序执行
  9. matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...
  10. iOS开发那些事-Git在Xcode中的配置与使用
  11. mysql学习笔记(常用语句)
  12. CocosCreator矢量绘图组件(2)
  13. PHP之ctype扩展
  14. 包装类的自动装箱,自动拆箱
  15. ps导出的gif图片不能动,或是只能动一次的解决办法
  16. redis之可视化工具
  17. 文献科普|DNA甲基化通过CTCF和黏着蛋白复合物调节选择性聚腺苷酸化
  18. ASCLL字母表顺序
  19. 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴
  20. 【Java / Kotlin】Warning:Leaking ‘this‘ in constructor of non-final class

热门文章

  1. 观大数据有感_读大数据时代有感
  2. Keras 手写数字辨识
  3. 摆脱对PC、服务器的依赖,英特尔“悄悄”在人工智能布下两颗棋子
  4. [手游项目2]-4- lua判断文件是否存在
  5. 损失函数------CTCLoss
  6. cnetos7安装mysql5.7.*详细说明(离线安装)
  7. 机器学习周记(第七周:Spacial Transformer Layer)2023.9.4~2023.9.10
  8. python 64位程序 打包用于32位系统_pyinstaller在64位系统下打包32位程序
  9. 企业缺少进项票,不用煞费苦心,税收优惠政策了解一下!
  10. TensorRT-介绍