opencv|android应用案例开发大全第3版配套源码光盘_23行代码实现(Python实时人脸检测程序设计(附源码)...)

一、前言 本文是《人脸识别完整项目实战》系列博文第3部分:程序设计篇(Python版),第2节《Python实时人脸检测程序设计》,本章内容系统介绍:基于Python+opencv+dlib如何实现实时人脸检测程序设计。
上一篇:《13行代码实现:Python实时视频采集(附源码)》
完整的相关内容已录制成视频课程,发布在网易云课堂:《人脸识别完整项目实战》
整个《人脸识别完整项目实战》系统架构结构如下图所示:
【opencv|android应用案例开发大全第3版配套源码光盘_23行代码实现(Python实时人脸检测程序设计(附源码)...)】项目概述
项目概述篇:系统介绍人脸识别项目的系统架构设计、项目关键技术说明、项目业务需求分析、项目业务流程设计;
环境部署篇:提供C++和Python两种编程语言的版本,系统介绍项目开发环境概述、DLib框架源码编译、项目工程文件创建、项目开发环境配置、项目性能优化设置;
程序设计篇:从实时视频采集开始,涵盖人脸区域检测、人脸特征点标定、人脸对齐、人脸比对和活体检测等全部技术环节的代码设计、运行演示和执行结果输出;
模型训练篇:基于人脸识别区域检测和人俩识别特征点标定两个应用场景,介绍数据样本采集、算法模型训练和算法模型测试的过程,让大家都人脸识别有一个完整的直观的认识;
算法原理篇:基于人脸识别区域检测和人俩识别特征点标定两个应用场景,人脸区域检测和人脸特征点标定的算法原理和实现机制,让大家对人脸识别与机器学习、深度学习进行有效关联;
学习框架篇:系统介绍主流深度学习框架,重点就本课程用到Dlib深度学习框架进行介绍,通过dlib深度学习实战案例1和dlib深度学习实战案例2,两个完整的案例,让大家对dlib的深度学习框架有一个直观的认识;
二、正文 2.1 程序逻辑
Python实时视频采集程序主要流程共分为10个步骤,具体如下图所示:
人脸检测程序逻辑
流程描述:
库文件导入:导入程序依赖的python安装包;
摄像头管理对象创建和初始化:是对opencv VideoCapture对象的创建和初始化,通过它打开摄像头设备;
启动循环监控:循环处理每一帧图片;
图像抓拍:利用opencv提供的摄像头管理设备,进行逐帧图像内容的抓取,然后进行处理;
人脸检测:基于dlib提供的人脸检测模型,进行人脸区域的检测;
图像/人脸区域显示:利用opencv的窗口对象,进行抓拍内容的显示;如果视频区域内检测到人脸信息,用矩形框绘制人脸坐标信息。
等待用户输入:利用opencv提供的键盘输入监控程序,获取用户指令。
摄像头释放:收到退出指令后,释放摄像头管理设备资源。
2.2 接口说明
python实时人脸检测功能,主要是采用了dlib提供的人脸检测模型,涉及的主要开发接口如下图所示:
dlib人脸检测模型开发接口
dlib人脸检测模型,利用预先训练好的模型,进行视频中,人脸区域的检测。检测输出的结果是人脸区域的左上右下的坐标位置。
2.3 源码设计
源码的执行,需要导入opencv库文件,直接执行:pip install opencv 即可实现。具体程序代码如下图所示:

# 实时:实时人脸检测import cv2import dlib# 基于5特征点的人脸检测detector = dlib.get_frontal_face_detector()win = dlib.image_window()cap = cv2.VideoCapture(0)# 从视频流循环帧while cap.isOpened(): ret, frame = cap.read() image = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) # 检测灰度帧中的人脸 dets = detector(image, 0) print("检测到人脸数量: {}".format(len(dets))) for i, d in enumerate(dets): print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format( i, d.left(), d.top(), d.right(), d.bottom())) win.clear_overlay() win.set_image(image) win.add_overlay(dets)cap.release()

实时人脸检测程序设计
2.4 运行效果?
实时人脸检测效果图
实时人脸检测运行效果如上图所示。
三、未完待续 本文是《人脸识别完整项目实战》系列博文第3部分:程序设计篇(Python版)第2节《实时人脸检测程序设计(python)》,全文共53个章节,持续更新,敬请关注。相关内容已录制成视频课程,可通过点击下面的链接查看全部配套视频课程:

    推荐阅读