实时人脸检测是计算机视觉领域的一项重要技术,OpenCV 是实现这一功能的一个强大工具。以下是一份简单的实时人脸检测教程,帮助您快速上手。

基本步骤

  1. 环境搭建:确保您的计算机上已安装 OpenCV 库。
  2. 人脸检测模型:选择一个合适的人脸检测模型,例如 Haar Cascades 或深度学习模型。
  3. 视频流:使用 OpenCV 读取视频流,可以是摄像头或视频文件。
  4. 人脸检测:在每一帧图像上应用人脸检测模型,标记出人脸位置。
  5. 显示结果:将检测到的人脸位置在原始视频帧上显示。

示例代码

import cv2

# 加载人脸检测模型
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

# 打开摄像头
cap = cv2.VideoCapture(0)

while True:
    # 读取视频帧
    ret, frame = cap.read()
    if not ret:
        break

    # 检测人脸
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)

    # 在视频帧上绘制人脸框
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)

    # 显示视频帧
    cv2.imshow('Face Detection', frame)

    # 按 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头资源
cap.release()
cv2.destroyAllWindows()

扩展阅读

如果您想了解更多关于 OpenCV 和人脸检测的信息,可以参考以下链接:

OpenCV 标志