python opencv检测人脸

文章目录:

  • 一、opencv检测一张图片
  • 二、opencv摄像头实时检测人脸

一、opencv检测一张图片

opencv检测人脸分成三部分:

1、图片转换成灰色(降低为一维的灰度,减低计算强度)
2、图片上画矩形
3、使用训练分类器查找人脸

在使用OpenCV的人脸检测之前,需要一个人脸训练模型,格式是xml的,我们这里使用OpenCV提供好的人脸分类模型xml。
级联分类器的下载地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 可全部下载到本地。

import cv2filepath = "together.jpg"
img = cv2.imread(filepath)  # 读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 转换灰色# OpenCV人脸识别分类器
classifier = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
color = (0, 255, 0)  # 定义绘制颜色
# 调用识别人脸
faceRects = classifier.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(faceRects):  # 大于0则检测到人脸for faceRect in faceRects:  # 单独框出每一张人脸x, y, w, h = faceRect# 框出人脸cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)# 左眼cv2.circle(img, (x + w // 4, y + h // 4 + 30), min(w // 8, h // 8),color)   # 圆心  半径# 右眼cv2.circle(img, (x + 3 * w // 4, y + h // 4 + 30), min(w // 8, h // 8),color)# 嘴巴cv2.rectangle(img, (x + 3 * w // 8, y + 3 * h // 4),(x + 5 * w // 8, y + 7 * h // 8), color)cv2.imshow("image", img)  # 显示图像
c = cv2.waitKey(10)cv2.waitKey(0)
cv2.destroyAllWindows()

分类器classifier.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))参数说明:

gray:转换的灰图
scaleFactor:图像缩放比例,可理解为相机的X倍镜
minNeighbors:对特征检测点周边多少有效点同时检测,这样可避免因选取的特征检测点太小而导致遗漏
minSize:特征检测点的最小尺寸

二、opencv摄像头实时检测人脸

# OpenCV版本的视频检测
import cv2# 图片识别方法封装
def discern(img):gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cap = cv2.CascadeClassifier( "haarcascade_frontalface_default.xml")faceRects = cap.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(50, 50))if len(faceRects):for faceRect in faceRects:x, y, w, h = faceRectcv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2)  # 框出人脸cv2.imshow("Image", img)# 获取摄像头0表示第一个摄像头
cap = cv2.VideoCapture(0)
while (1):  # 逐帧显示ret, img = cap.read()# cv2.imshow("Image", img)discern(img)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 释放窗口资源

不过这种方法检测人脸非常不准,大家就玩玩就可以




♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

python opencv检测人脸相关推荐

  1. Python人脸识别黑科技(二):教你使用python+Opencv完成人脸解锁

    继上一篇"Python人脸识别黑科技(一):50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识",那么今天我们来讲关于使用python+opencv+ ...

  2. python opencv 检测特定颜色

    python opencv 检测特定颜色 import cv2 import numpy as npcap = cv2.VideoCapture(0)# set blue thresh 设置HSV中蓝 ...

  3. 【Android App】利用自带的人脸检测器和OpenCV检测人脸讲解及实战(附源码和演示 超详细)

    需要源码请点赞关注收藏后评论区留言私信~~~~ 一.利用人脸检测器识别人脸 对于简单的人脸识别操作,Android已经提供了专门的识别工具,名叫人脸检测器FaceDetector,部分常用方法如下 F ...

  4. python+opencv实现人脸微整形

    目录 一.前言 二.主要原理 三.算法实现 (1)计算偏移量 (2)考虑多个点影响 (3)控制点的手动增加,删除功能 四.总结 一.前言 表情捕捉驱动另一张脸或者3D人脸是元宇宙一项比较热门的技术,目 ...

  5. AI新时代-大神教你使用python+Opencv完成人脸解锁(附源码)

    摘要: 好吧,伙计们,我回来了.说我拖更不写文章的可以过来用你的小拳拳狠命地捶我胸口.... 那么今天我们来讲关于使用python+opencv+face++来实现人脸验证及人脸解锁.代码量同样不多, ...

  6. python opencv 人体/人脸识别 简易demo

    前言 参考文章: pythonopencv检测行人_[图像处理]使用OpenCV实现人脸和行人检测 Python如何实现行人识别-人体识别 本文主要讲述关于opencv官方提供的现成模型,采取Hog特 ...

  7. 20行Python代码检测人脸是否佩戴口罩

    最近,口罩成为绝对热门的话题,在疫情之下,出门不戴口罩不仅对自己不负责,对他人而言也是一种潜在的威胁.所以许多小区都有保安在门口守着,谁要是不戴口罩就吼回去(吓死我了). 很多人学习python,不知 ...

  8. python人脸口罩识别_基于Python+OpenCV的人脸口罩识别检测

    以下编程在Jupyter notbook平台上进行 一.OpenCV下载安装 二.人脸口罩数据集下载处理 (一)人脸口罩数据集下载 下载人脸口罩数据集的目的是利用OpenCV进行模型训练,这里采用口罩 ...

  9. python + OpenCV 实现人脸检测(全网之最通俗易懂)

    文章目录 先看一下效果 采集人脸信息 人脸识别 以上源码 本文人脸识别检测具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得: ...

最新文章

  1. 《面向对象程序设计》c++第五次作业___calculator plus plus
  2. 皮一皮:一个戒指吃出了电视剧的感觉...
  3. Redis操作key相关API
  4. IHttpModule接口
  5. excel使用教程_办公软件excel表格制作教程
  6. nbu备份文件失败,提示信息NBU status: 2074, EMM status: Disk volume is down
  7. Python快速实现一个域名、IP信息聚合网站
  8. 油猴脚本屏蔽CSND个人博客主页烦人广告
  9. C#winform软件长时间运行后无响应问题解决
  10. PDA模拟中的问题1
  11. android7.0后台,安卓7.0带来一键清理后台 真能使手机变快吗
  12. 织梦建站:织梦CMS整站源码通用安装教程(图文教程)
  13. 优秀的程序员——用批判性思维批判下
  14. 【自制】WS2812光立方
  15. 在天津的超级计算机,天津“天河一号”超级计算机恢复运行
  16. PHP对接美团API接口 实现卡卷核销功能
  17. 写给养花小白的水培小教程
  18. Windows10系统盘清理实用攻略
  19. MySQL中常用的SQL优化方法
  20. spss连接至远程计算机,通过远程连接打开SPSS产品时,收到许可证错误信息。从本地打开同一产品时没有错误。...

热门文章

  1. linux 代码更新-打包-重启脚本
  2. svn 合并分支 等
  3. Croc Champ 2013 - Round 2 (Div. 2 Edition) 贪心+ 搜索+剪枝 + 数学
  4. 高并发高负载网站的系统架构
  5. c# 对文件流的读写
  6. python列表按照指定顺序排序-Python常见排序操作示例【字典、列表、指定元素等】...
  7. python中类方法与实例方法的区别-Python实例方法、静态方法和类方法详解(包含区别和用法)...
  8. python怎么安装pandas模块-如何优雅的安装Python的pandas?
  9. python数据结构推荐书-自己想学数据结构,有大佬能推荐一下看什么书吗?
  10. python入门基础代码图-适合Python入门的5本基础书籍