使用深度学习模型进行人脸检测是 OpenCV 提供的强大功能之一,适用于实时人脸识别、监控等场景。以下是关键步骤:
环境准备
- 安装 OpenCV 库(推荐版本 4.5+)
- 确保支持 CUDA 的 GPU(可显著加速 DNN 计算)
- 导入预训练模型(如
opencv_face_detection_model_v2.onnx
)
核心代码逻辑
import cv2 # 加载模型 net = cv2.dnn.readNetFromONNX('model_path.onnx') # 读取图像并处理 img = cv2.imread('test.jpg') blob = cv2.dnn.blobFromImage(img, 1.0, (300, 300), (104, 117, 123)) net.setInput(blob) detections = net.forward()
📌 检测结果可通过
detections
数组获取,每个检测框包含人脸位置与置信度信息可视化结果
用不同颜色标注检测到的人脸区域,可参考 [OpenCV DNN 模型调用指南](/opencv_dnn_model_usage) 进一步优化注意事项
- 模型文件需与 OpenCV 版本兼容
- 调整
blobFromImage
参数可改善检测精度 - 低性能设备建议使用 CPU 模式
如需完整代码示例或模型下载链接,请访问 OpenCV DNN 人脸检测实战 页。