上期文章我们分享了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& 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来进行人脸的检测

使用dlib检测的68个特征点

opencv 人脸识别_人工智能-OpenCV+Python实现人脸识别(视频人脸检测)相关推荐

  1. 基于python车牌号识别_如何用Python提取和识别车牌号?

    下面是一个关于如何解决你的问题的粗略想法.你可以在此基础上再接再厉.您需要从图像中提取车牌号,然后将图像发送到您的tesseract.阅读代码注释以了解我正在尝试做什么.在import numpy a ...

  2. python车辆测速视频车速检测

    python车辆测速视频车速检测 start_time = time.time()rc, image = video.read()if type(image) == type(None):breaki ...

  3. python读取视频流做人脸识别_基于OpenCV和Keras实现人脸识别系列——二、使用OpenCV通过摄像头捕获实时视频并探测人脸、准备人脸数据...

    基于OpenCV和Keras实现人脸识别系列手记: 项目完整代码参见Github仓库. 本篇是上面这一系列手记的第二篇. 在Opencv初接触,图片的基本操作这篇手记中,我介绍了一些图片的基本操作,而 ...

  4. opencv 车辆识别_人工智能实战项目:使用OpenCV和Python构建自己的车辆检测模型

    总览 对智慧城市的想法感到兴奋吗?您会喜欢本教程的内容,以构建自己的车辆检测系统 在深入研究实现部分之前,我们将首先了解如何检测视频中的移动对象. 我们将使用OpenCV和Python来构建自动车辆检 ...

  5. python人工智能图像识别_人工智能之Python人脸识别技术,人人都能做识别!

    原标题:人工智能之Python人脸识别技术,人人都能做识别! 作者丨Python小哥哥 https://www.jianshu.com/p/dce1498ef0ee 一.环境搭建 1.系统环境 Ubu ...

  6. 图像识别python模块_人工智能之Python人脸识别技术--face_recognition模块

    一.环境搭建1.系统环境Ubuntu 17.04 Python 2.7.14 pycharm 开发工具1 2 32.开发环境,安装各种系统包人脸检测基于dlib,dlib依赖Boost和cmake$ ...

  7. opencv ocr文字识别_用OpenCV和OCR识别图片中的表格数据

    ♚ 作者: jclian,喜欢算法,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!   在很多时候,我们的数据来源形式是多种多样的,有时候数据(或表格)也会呈现在图片 ...

  8. python opencv 图像切割_【OpenCV+Python】图像的基本操作与算术运算

    图像的基本操作 在上个教程中,我们介绍了使用鼠标画笔的功能.本次教程,我们将要谈及OpenCV图像处理的基本操作. 本次教程的所有操作基本上都和Numpy相关,而不是与OpenCV相关.要使用Open ...

  9. c++opencv汉字分割_基于OpenCV 的车牌识别

    车牌识别是一种图像处理技术,用于识别不同车辆.这项技术被广泛用于各种安全检测中.现在让我一起基于OpenCV编写Python代码来完成这一任务. 车牌识别的相关步骤 1.车牌检测:第一步是从汽车上检测 ...

最新文章

  1. 上一篇的js处理失真数据存在问题换了种方法
  2. Android入门:Activity四种启动模式
  3. 【SQL Server学习笔记】变更数据捕获(Change Data Capture)
  4. PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数
  5. Python基础教程:带参装饰器、生成器、迭代器、for循环迭代器、枚举
  6. 动态规划之——拦截导弹(nyoj79)
  7. C语言实现pid算法(附完整源码)
  8. 【LeetCode 剑指offer刷题】查找与排序题14:Wiggle Sort(系列)
  9. 访问 IIS 元数据库失败 的解决方法
  10. 在Mac里给Terminal终端自定义颜色
  11. Android开发之自定义AlertDialog的大小
  12. threejs 局部辉光
  13. 华为p50是不是鸿蒙系统,华为P50再次延期,鸿蒙系统正式版加持,有望与新平板一同登场...
  14. 【报告分享】5G时代新型基础设施建设白皮书.pdf
  15. data-mask遮罩无法正常显示与编辑的问题
  16. mysql删除表外键_MySQL删除所有表的外键约束、禁用外键约束
  17. Wacom发布Cintiq Companion 2
  18. Origin抗锯齿和出现大C
  19. keras实现交叉验证以及K折交叉验证
  20. 安徽师大附中%你赛day2T3 巧克力 解题报告

热门文章

  1. 用户描述 和 组描述 和 远程连接
  2. 自动化测试框架搭建-邮件-5
  3. Solr集群系统架构
  4. JSP页面Table的数据拼接
  5. 面试官问的hibernate和mybatis常见面试题
  6. 蓝桥杯java第五届决赛第三题--格子放鸡蛋
  7. ContentValues(Java)
  8. postman怎么不登陆使用_钉钉登陆不了怎么办,那时的网速也不流畅,怎么办
  9. hdu2147 kiki's game(巴什博弈java)
  10. 使用Python运算一个字符串表达式