OpenCV-Python实现实时人脸检测(附源码)

OpenCV杂谈_01


一. 需要做的前期准备
  1. 环境配置
    Python版本: 3.7.6
    用到的功能包: opencv-python (4.2.0.32) 、numpy (1.20.2)
  2. 导入他人训练好的 OpenCV cascade 文件
    haarcascade_frontalface_default.xml (也可以用其他.xml文件用于做不同的检测,比如全身、人眼等等)下载链接在此:https://github.com/opencv/opencv/tree/master/data/haarcascades
  3. 一个用的顺手的IDE(本人推荐Pycharm)
二. 源码如下(需要稍做路径上的调整)
import cv2

# 打开电脑自带的摄像头,并进行一些配置
cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
cap.set(10, 50)

# 读取 cascade 文件
faceCascade = cv2.CascadeClassifier("Resources/haarcascade_frontalface_default.xml")  # 改成自己存放.xml文件的路径

# 对视频中的每一帧进行人脸的捕捉和添加 bounding box 操作
while True:
    ret, frame = cap.read()
    frameGray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # 转换为灰度图像
    detectionResult = faceCascade.detectMultiScale(frameGray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
    if len(detectionResult) > 0:
        for detection in detectionResult:
            x, y, w, h = detection
            cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10),
                          (255, 0, 0), 2)  # 加 bounding box
            cv2.putText(frame, "human faces", (x, y + h), cv2.FONT_HERSHEY_PLAIN, 2,
                        (0, 0, 0), 2)  # 给 bounding box 加注解
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) & 0xFF == ord("q"):  # 按“q”键退出程序
        break
三. 结果展示

by  demo

四. 感悟与分享
  1. 所谓的视频不过就是图像的连续放映。
  2. 个人觉得OpenCV不错的教程:https://www.bilibili.com/video/BV16K411W7x9?t=6282
如有问题,敬请指正。欢迎转载,但请注明出处。
可部署到云主机(Heroku,AWS……)! 使用dlib最先进的面部识别功能构建而成,具有深度学习功能。该模型在Wild标记的Labeled Faces中具有99.38%的准确度 。 这提供了一个简单的命令行工具,允许从命令行对图像文件夹进行面部识别! 1、找到图片中出现的所有面孔 2、获取每个人的眼睛,鼻子,嘴巴和下巴的位置和轮廓。 3、应用数字化妆 4、识别每张照片中出现的人物。 5、可以将此库与其他Python库一起使用来进行实时人脸识别。 使用要求 Python 3.3+或Python 2.7 macOS或Linux(Windows未正式支持,但可能有效) 人脸检测 在照片中找到面孔 在照片中找到面孔(使用深度学习) 使用GPU(使用深度学习)批量查找图像中的面孔 使用网络摄像头模糊实时视频中的所有人脸(需要安装OpenCV) 面部特征 识别照片中的特定面部特征 应用(可怕的丑陋)数字化妆 面部识别 根据已知人物的照片查找并识别照片中的未知面部 识别并在照片中的每个人周围绘制框 通过数字面部距离比较面部而不仅仅是真/假匹配 使用网络摄像头识别实时视频中的人脸 - 简单/慢速版本(需要安装OpenCV) 使用网络摄像头识别实时视频中的人脸 - 更快的版本(需要安装OpenCV) 识别视频文件中的面部并写出新的视频文件(需要安装OpenCV) 用相机识别Raspberry Pi上的脸部 运行Web服务以通过HTTP识别面部(需要安装Flask) 使用K近邻分类器识别面部
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值