栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

OpenCV学习——摄像头实时进行人脸识别

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OpenCV学习——摄像头实时进行人脸识别

前面学习了通过存储摄像头捕获的画面图像,然后对图像中的人脸进行识别检测,本文学习通过摄像头进行实时检测人脸。

OpenCV学习——人脸读取,信息库比对_笨小古的博客-CSDN博客

# 实例化级联分类器
classifier =cv.CascadeClassifier( "haarcascade_frontalface_default.xml" ) 
# 加载分类器
classifier.load('haarcascade_frontalface_default.xml')
rect = classifier.detectMultiScale(gray, scaleFactor, minNeighbors, minSize,maxsize)


Gray: 要进行检测的人脸图像
scaleFactor: 前后两次扫描中,搜索窗口的比例系数
minneighbors:目标至少被检测到minNeighbors次才会被认为是目标
minsize和maxsize: 目标的最小尺寸和最大尺寸

import cv2 as cv

# 开启摄像头
cap = cv.VideoCapture(0)

# 在每一帧数据中进行人脸识别
while (cap.isOpened()):  # 摄像头开启后执行
    ret, frame = cap.read()
    if ret == True:
        gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)  # 以灰度图的形式读取图像

        # 实例化OpenCV人脸识别的分类器
        face_cascade = cv.CascadeClassifier(r'dataopencvsourcesdatahaarcascadeshaarcascade_frontalface_default.xml')
        face_cascade.load(r'dataopencvsourcesdatahaarcascadeshaarcascade_frontalface_default.xml')

        # 调用识别人脸
        faceRects = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
        for faceRect in faceRects:
            x, y, w, h = faceRect

            # 框出人脸
            cv.rectangle(frame, (x, y), (x + h, y + w), (0, 255, 0), 3)

        cv.imshow("frame", frame)
        if cv.waitKey(1) & 0xFF == ord('q'):
            break

# 释放资源
cap.release()
cv.destroyAllWindows()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号