人工智能-OpenCV+Python实现人脸识别(视频人脸检测)
上期文章我们分享了opencv识别图片中的人脸,OpenCV图片人脸检测,本期我们分享一下如何从视频中检测到人脸
视频人脸检测
OpenCV打开摄像头特别简单,只需要如下一句代码
capture = cv2.VideoCapture(0) # 打开摄像头
打开摄像头后,我们使用如下一句代码,来获取视频中的图片(每帧图片)
ret, frame = capture.read() # 读取
有了图片我们就可以按照图片的识别方式来检测人脸了
有了以上的2句代码,再加上上期的图片识别,就可以从视频中检测人脸了
完整代码:
import cv2
capture = cv2.VideoCapture(0) # 打开摄像头
face = cv2.CascadeClassifier(r'D:Program Files (x86)Anaconda3pkgslibopencv-3.4.1-h875b8b8_3Libraryetchaarcascadeshaarcascade_frontalface_alt.xml') # 导入人脸模型
cv2.namedWindow('摄像头') # 获取摄像头画面
while True:
ret, frame = capture.read() # 读取视频图片
gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) # 灰度
faces = face.detectMultiScale(gray,1.1,3,0,(100,100))
for (x, y, w, h) in faces: # 5个参数,一个参数图片 ,2 坐标原点,3 识别大小,4,颜色5,线宽
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow('摄像头', frame) # 显示
if cv2.waitKey(5) & 0xFF == ord('q'):
break
capture.release() # 释放资源
cv2.destroyAllWindows() # 关闭窗口
opencv中人脸检测使用的是 detectMultiScale函数,小编使用手机播放一段视频,截取了几张人脸检测的图片
detectMultiScale(
const Mat& image,
CV_OUT vector<Rect>& objects,
double scaleFactor = 1.1,
int minNeighbors = 3,
int flags = 0,
Size minSize = Size(),
Size maxSize = Size()
);
识别视频中的人脸
函数介绍:
参数1:image--待检测图片,一般为灰度图像加快检测速度;
参数2:objects--被检测物体的矩形框向量组;
参数3:scaleFactor--表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%;
参数4:minNeighbors--表示构成检测目标的相邻矩形的最小个数(默认为3个)。
如果组成检测目标的小矩形的个数和小于 min_neighbors - 1 都会被排除。
如果min_neighbors 为 0, 则函数不做任何操作就返回所有的被检候选矩形框,
这种设定值一般用在用户自定义对检测结果的组合程序上;
参数5:flags--要么使用默认值,要么使用CV_HAAR_DO_CANNY_PRUNING,如果设置为
CV_HAAR_DO_CANNY_PRUNING,那么函数将会使用Canny边缘检测来排除边缘过多或过少的区域,
因此这些区域通常不会是人脸所在区域;
参数6、7:minSize和maxSize用来限制得到的目标区域的范围。
识别视频中的人脸
OpenCV作为对象检测的第三方库,其强大之处在于对象的检测,Dlib出现后,由于在人脸检测方面的准确度,得到了大家了认可,下期我们分享一下,如何使用Dlib来进行人脸的检测
人工智能-OpenCV+Python实现人脸识别(视频人脸检测)相关推荐
- python人脸识别和人脸对比,face_recognition和OpenCV
前言 先用OpenCV判断图片是否模糊,模糊的话需要重拍: 再用face_recognition检测图片中是否有人脸,有才接着进行下一步: 再用face_recognition计算图片中每张人脸的12 ...
- python人脸识别、人脸关键点检测、性别检测
python人脸识别.人脸关键点检测.性别检测 文章目录 根据人脸预测年龄性别和情绪 (python + keras)(三) 一款入门级的人脸.视频.文字检测以及识别的项目. age-gender-e ...
- 使用Opencv2+Pyqt5实现人脸识别视频马赛克
[视频马赛克系统]使用Opencv2+Pyqt5实现人脸识别视频马赛克功能 1.实现背景 2.开发资源.环境准备 3.实现目标 4.开发原理 6.编译实现 1.视频中人脸马赛克 2.电脑摄像头进行人脸 ...
- PythonOpenCV识别视频人脸
人脸识别一般是通过分类器来完成,而分类器需要专门的训练得到,此处,为了简便,我们利用OpenCV提供的人脸识别分类器进行识别. 文章目录 一.准备工作 二.识别图像人脸 三.识别视频人脸 一.准备工作 ...
- Python | 人脸识别系统 — 活体检测
本博客为人脸识别系统的活体检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...
- Python | 人脸识别系统 — 人脸识别
博客汇总:Python | 人脸识别系统 - 博客索引 GitHub地址:Su-Face-Recognition 注:阅读本博客前请先参考 工具安装.环境配置:Python | 人脸识别系统 - 简介 ...
- Python | 人脸识别系统(人脸识别、活体检测、背景模糊、关键点检测)
本博客为人脸识别系统项目简介 项目GitHub完整源代码地址:Su-Face-Recognition: A face recognition for user logining 一.运行环境 本系统能 ...
- Python | 人脸识别系统 — 人脸比对 代码部分
本博客为人脸识别系统的人脸比对代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...
- mpvue小程序实现人脸识别/视频录制/身份验证/CryptoJS加密 等功能
mpvue小程序实现人脸识别/视频录制/身份验证/CryptoJS加密 等功能 先看效果图 mpvue小程序与数据宝对接实现人脸识别/视频录制/身份验证/CryptoJS 加密 等功能关键代码 ind ...
- 人工智能AI系列 - 人脸识别套件列表,包括人脸检测,人脸识别,人脸关键点,人脸比对,人脸搜索等等。
人脸识别套件列表 打造最好的java开源人脸识别套件,包括人脸检测,人脸识别,人脸关键点,人脸比对,人脸搜索等等. 人脸检测SDK 人脸检测SDK 链接 人脸检测 (含5个人脸关键点) SDK 链接 ...
最新文章
- 女朋友还是游戏?一起来分析下游戏的开发与销售情况!
- 关于码云开源项目SpringBootAdmin多数据源配置
- spring基础——外部引入属性文件创建bean
- 安徽省2012年下半年计算机水平考试(二级 c语言程序设计),安徽省计算机等级级考试真题C语言2012年12月.doc...
- vmware-tools for LFS
- 微信公众号开发流程指南
- matlab 图像方差,Matlab方差解析var--实例说明matlab求方差
- ISLR读书笔记十六:最大边际分类器(maximal margin classifier)
- PHP保存图片并且修改图片分辨率(DPI)
- 沪江日语频道 » 日语真题
- [英文邮件] 感谢信的标题
- 关于STAR法则简历
- java学习路线(阿里p6)
- 基础光照-Phong 光照模型
- Java+Swing+mysql用户信息管理系统
- PHP_递归函数时return
- 黑龙江第三方软件测试机构 CMA/CNAS双资质
- 安卓新闻发布系统源码,后台java springboot框架
- 小旋风asp服务器出错
- 深度调研:日本老年消费市场商业成功案例与发展经验成果分享
热门文章
- 传统外置存储已近黄昏
- 前端——CSS:浅谈对float的理解
- 【C/S通信交互之Socket篇】Cocos2dx(Client)使用BSD Socket与Mina(Server)手机网游通信框架!
- 《C Primer Plus》第五章 编程习题
- java计算机毕业设计社区生活超市管理系统源程序+mysql+系统+lw文档+远程调试
- DPABISurf使用教材
- 荣耀路由pro没有虚拟服务器,荣耀路由怎么设置端口映射规则
- 路由器端口映射失败排查方法
- Java8 Map 中新增的方法使用记录
- 计算机导论以python为舟大纲,清华大学出版社-图书详情-《计算机科学导论——以Python为舟(第3版)》...