基于MATLAB的人脸识别考勤系统(matlab UI界面,sql sever数据库,opencv)

摘要:

[目的]针对大学生逃课、代课等问题,本次大作业开发基于MATLAB的人脸识别考勤系统,通过MATLAB创建GUI界面,调用基于计算机视觉库OpenCV的python代码,以及结合SQL sever数据库录入保存学生信息,最终实现通过计算机摄像头拍摄学生人脸照片实现签到,以及显示签到学生信息和班级签到情况。

[方法]人脸识别过程包括人脸图像采集、人脸模型训练、人脸检测和验证几个环节。本次设计了两个界面,其一是人脸录入界面,包括录入学生基本信息和采集人脸图像并保存到数据库中,以及人脸识别模型训练。

其二是人脸识别界面,包括设置考勤信息(设置签到班级、地点、时间),人脸识别验证,显示最终识别人脸图像和识别的学生信息,以及更新签到情况。[结果]通过录入学生人脸图像和学生信息,可以实现人脸识别和信息匹配,实现人脸识别签到和统计考勤情况。

关键词:MATLAB;GUI;OpenCV;考勤系统

大到智慧城市建设,小到手机端应用登录,人脸识别已经渗透到社会生活的方方面面。通过人脸识别来进行身份验证的生物识别技术已经开始在很多场景当中得到运用。

人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证、刑侦破案、视频监视、机器人智能化和医学等领域,具有广阔的应用价值和商用价值。人脸特征作为一种生物特征,与其他生物特征相比,具有有好、直接、方便等特点,因此使用人脸特征进行身份识别更易于被用户所接受。

Opencv是一个开源的的跨平台计算机视觉库,内部实现了图像处理和计算机视觉方面的很多通用算法,其自带的人脸级联分级器具有很好的人脸检测和人脸追踪效果。本项目使用的是OpenCV提供的人脸识别算法LBPH(Local Binary Pattern Histogram),即局部二进制模式直方图,其人脸识别算法思路是:将检测到的人脸分为小单元,并将其与模型中的对应单元进行比较,对每个区域的匹配值产生一个直方图,通过对直方图的比较,算法将能够识别图像的边缘和角,能够识别直方图中哪些代表人的主要特征,比如眼睛的颜色、嘴巴的形状等等,这个算法的基本理论也就是基于直方图的创建和比较。由于这种方法通过比较不同人脸图像LBP编码直方图达到人脸识别的目的,其优点是不会受到光照、缩放、旋转和平移的影响。

人脸识别技术包括人脸特征采集、人脸检测、人脸验证几个环节,将需要识别的人脸和录入数据库里面的图像进行对比,从而识别是不是本人。和传统的签到方式相比,人脸识别具有无需用户专门配合、接触等独特优势,人脸识别核验可以防止大学生寻找代课人员来逃避上课。而且因为人脸识别是不需要任何实际物,所以也就不存在同学们遗失之后补办的麻烦。人脸识别系统可以大大提升同学们的到课率,有利于学术学风建设,解决了当今学校的一大痛点。

一、材料与方法

    1、软件及其环境配置 

本项目使用的是MATLAB R2021b APP designer,如图1,python3.8,SQLsever2022,如图3。在MATLAB中检查python环境配置如图2所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值