在 OpenCV 中,人脸检测主要有两种主流方法:基于 Haar 特征的级联分类器(传统方法)和基于深度学习的 DNN 模块(现代方法)。下面将分别介绍这两种方法。
👤 方法一:使用 Haar 级联分类器
这是一种经典且快速的人脸检测方法,非常适合实时应用或计算资源有限的场景。
实现步骤
- 加载预训练模型:OpenCV 内置了预训练的 Haar 级联分类器 XML 文件,可以直接加载使用。
- 读取图像并灰度化:Haar 特征检测基于灰度图像,因此需要先将彩色图像转换为灰度图。
- 调用
detectMultiScale函数:这是核心检测函数,它会返回图像中所有检测到的人脸位置(矩形框坐标)。 - 可视化结果:根据返回的坐标,在原图上绘制矩形框来标记人脸。
代码示例
以下是一个完整的静态图片人脸检测示例:
import cv2
# 1. 加载预训练的人脸级联分类器
# cv2.data.haarcascades 指向 OpenCV 内置的
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



