1. 项目概述
在计算机视觉领域,人脸检测是最基础也最实用的入门项目之一。通过OpenCV这个强大的开源库,即使是编程新手也能快速实现人脸检测功能。本文将带你用Python实现两个实用场景:静态图片的人脸检测和视频流中的微笑检测。
这个项目特别适合想要入门计算机视觉的开发者,或者对AI应用感兴趣的学生。不需要复杂的数学知识,只要掌握基本的Python语法就能上手。我们会从环境配置开始,逐步讲解核心代码,最后实现一个能实时检测微笑的完整应用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具选型
2.1 OpenCV安装指南
首先需要安装OpenCV库,推荐使用pip安装最新稳定版:
bash复制pip install opencv-python
pip install opencv-contrib-python
注意:opencv-contrib-python包含了额外的模块和预训练模型,建议一并安装
2.2 分类器文件获取
OpenCV提供了多种预训练的Haar级联分类器,安装后可以在以下路径找到:
python复制import cv2
print(cv2.__file__)
常用的分类器包括:
- haarcascade_frontalface_default.xml(人脸检测)
- haarcascade_smile.xml(微笑检测)
- haarcascade_eye.xml(眼睛检测)
3. 图片人脸检测实现
3.1 核心代码解析
python复制import cv2
# 读取图片
image = cv2.imread('test.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 加载人脸分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 检测人脸
faces = face_cascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30)
)
# 绘制检测框
for (x, y,
