实时人脸检测是计算机视觉领域的一项重要技术,OpenCV 是实现这一功能的一个强大工具。以下是一份简单的实时人脸检测教程,帮助您快速上手。
基本步骤
- 环境搭建:确保您的计算机上已安装 OpenCV 库。
- 人脸检测模型:选择一个合适的人脸检测模型,例如 Haar Cascades 或深度学习模型。
- 视频流:使用 OpenCV 读取视频流,可以是摄像头或视频文件。
- 人脸检测:在每一帧图像上应用人脸检测模型,标记出人脸位置。
- 显示结果:将检测到的人脸位置在原始视频帧上显示。
示例代码
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 标志