基于人脸识别考勤系统的照片采集的研究与实现0_4.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:73KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于人脸识别考勤系统的照片采集的研究与实现0_4.doc

基于人脸识别考勤系统的照片采集的研究与实现0_4.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

作者简介:王卫锋(1978-),男,汉族,河南许昌人。华东师范大学计算机科学技术系计算机应用专业研究生,新乡学院计算机系教师。基于人脸识别考勤系统的照片采集的研究与实现王卫锋1,2李强3(1华东师范大学计算机科学技术系,上海200062)(2新乡学院计算机系,河南新乡453000)(3太原大学外语师范学院计算机系,山西太原030012)摘要:本文主要介绍人脸识别考勤系统中人脸照片的采集和显示过程,开发环境为VisualC++6.0,以Microsoft的VideoforWindows(VFW)为核心,利用摄像头进行人脸照片的采集并通过接口程序保存到数据库。关键词:照片采集;人脸识别;考勤系统;捕捉写作背景基于人脸识别的考勤系统主要用于对公司员工的出勤统计,员工签到时只需要通过摄像头采集到员工面部信息后,通过人脸识别算法与数据库中预先存入的员工人脸信息的特征值进行比较,识别成功后报出员工的姓名,则考勤成功。本文主要介绍的是考勤机后台管理程序中的人脸信息录入部分的设计,也就是通过摄像头进行员工面部信息的采集,每个员工若干张照片,需要保存到数据库中,同时需要通过一定的算法保存其对应的特征值。限于篇幅,本文就采集一张照片的保存与显示的关键步骤展开阐述,并给出在VisualC++6.0实现的必要代码。软件支持VFW(VideoforWindows)是Microsoft1992年推出的关于数字视频的一个软件包,它能使应用程序数字化并播放从传统模拟视频源得到的视频剪辑。VFW给程序员提供.VBX和AVICap窗口类的高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑。现在用户不必专门安装VFW,当用户在安装Windows时,安装程序会自动地安装配置视频所需的组件,如设备驱动程序、视频压缩程序等。VisualC++6.0在支持VFW方面提供有vfw32.lib、msacm32.lib、winmm.lib等类似的库。特别是它提供了功能强大、简单易行、类似于MCIWnd的窗口类AVICap。AVICap为应用程序提供了一个简单的、基于消息的接口,使之能访问视频和波形音频硬件,并能在将视频流捕获到硬盘上的过程中进行控制。AVICap支持实时的视频流捕获和单帧捕获并提供对视频源的控制。它能直接访问视频缓冲区,不需要生成中间文件,实时性很强,效率很高。同时,它也可将数字视频捕获并保存到文件。在视频捕获之前需要创建一个捕获窗口,所有的捕获操作及其设置都以它为基础。用AVICap窗口类创建的窗口被称为“捕获窗口”。捕获窗口功能强大可以进行视频录像(将一视频流和音频流捕获到一个AVI文件)中或是画面截取。在该系统中主要用到画面截取功能。下面是截取画面时需要用到的几个设置操作:动态地同视频采集设备连接或断开;以Overlay或Preview模式对输入的视频流进行实时显示;预览(Preview)模式:该模式把从捕获硬件传来的数据送入系统内存然后使用图形设备介面(GDI)将视频帧显示在捕获窗口内。此种模式要占用一定的系统资源,一般的视频采集设备都是通过这种显示方式工作的。叠加(Overlay)模式:该模式的视频显示不经过VGA卡,而是将VGA的输出信号与其自身的输出信号合并,形成组合信号显示在计算机的监视器上。在该模式下所捕捉的视频数据的显示不需要占用系统资源,显示效果好。设置捕获速率;显示控制视频源、视频格式、视频压缩的对话框;将捕获的一个单帧图像保存为DIB格式的文件。实现原理采集照片时,捕获一帧图像在临时文件夹中保存为DIB格式的文件,然后通过文件类的读操作将位图转化为二进制的流数据并保存数据流的长度,再调用数据库接口函数存入数据库,最后删除临时文件夹里的位图文件;显示时调用数据库访问接口函数从数据库取出照片的二进制数据流数据和数据的长度,再通过文件类的写操作在临时文件夹中生成位图文件,显示完后删除该文件。至于把图片显示到界面上,只需把临时文件夹里的位图文件通过绘图函数显示可以了。特征值的算法不在本文讨论之列。实现流程显示照片照片存在指定员工YN显示背景继续查看YN拍照并预览存入数据库满意否启动摄像头启动成功YNYN指定员工照相完成YN照相过程浏览照片过程关键程序代码捕捉照片在头文件中定义摄像头相关的控制成员变量HWNDm_hWndCap;//定义视频捕捉窗口CAPDRIVERCAPSm_CapDriverCaps;//捕获驱动器的性能CAPSTATUSm_CapStatus;//捕获窗口的当前状态启动摄像头//创建视频捕捉窗口m_hWndCap=capCreateCaptureWindow(_T("人脸录入"),//捕