使用 OpenCV 实现实时人脸检测

作者:VPICK | 返回首页

人脸检测是计算机视觉中的一个重要应用场景,广泛用于安防、考勤、图像标注等系统中。本教程将介绍如何使用 OpenCV 库快速实现一个实时的人脸检测系统。

1. 环境准备

首先你需要安装 OpenCV,可以通过 pip 安装:

pip install opencv-python

2. 加载人脸检测模型

OpenCV 提供了 Haar 特征分类器(Haar Cascade)模型,非常适合入门:

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

3. 实时检测实现

import cv2

cap = cv2.VideoCapture(0)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

while True:
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    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)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

4. 总结

使用 OpenCV 实现人脸检测非常高效且实用。虽然 Haar 特征法不是最先进的,但对学习和原型验证非常合适。