人脸实时检测

文章目录

  • 人脸实时检测
    • 1.环境准备
    • 2.代码

人脸实时检测

1.环境准备

  1. 人脸分类器
    提取码 :gqvl

这里就不使用opencv官网分类器进行下载了,我实在不会单个文件下载,直接复制粘贴文件内容,又报错,可能是有什么东西复制不全。所以直接使用好心人提供的网盘链接了。

  1. opencv-python库。
  2. 顺手的编译器,推荐ycharm

2.代码


# 使用python进行人脸检测

import cv2

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

# 读取 cascade 文件
faceCascade = cv2.CascadeClassifier("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

你可能感兴趣的:(后台,python,opencv)