基于人脸识别的学生课程出勤管理系统设计

基于人脸识别的学生课程出勤管理系统设计

ID:31360185

大小:113.50 KB

页数:10页

时间:2019-01-09

基于人脸识别的学生课程出勤管理系统设计_第1页
基于人脸识别的学生课程出勤管理系统设计_第2页
基于人脸识别的学生课程出勤管理系统设计_第3页
基于人脸识别的学生课程出勤管理系统设计_第4页
基于人脸识别的学生课程出勤管理系统设计_第5页
资源描述:

《基于人脸识别的学生课程出勤管理系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于人脸识别的学生课程出勤管理系统设计  摘要:由于当前教师对于学生课堂出勤情况大多以手动形式进行记录,不利于后期的数据统计以及分析。针对此类学生课堂出勤问题,提出一种通过人脸识别结合MySQL数据库技术进行学生课堂管理的方法。通过人脸识别技术获取学生基本信息,并且通过数据库技术获取当前课程的信息,结合之前的学生信息对学生的课堂出勤情况进行实时记录,同时将学生信息与对应课程信息存储到数据库中。实验结果表明,系统可以将学生课堂出勤信息在数据库中进行记录并且易于统计。该方法最终实现了记录学生的课堂出勤情况,从而达到学生课堂管理的目的。  关键词:人脸识别;MySQL;学

2、生出勤管理;课程信息  中图分类号:TN919.8?34;P391文献标识码:A文章编号:1004?373X(2016)01?0081?04  对于传统的课堂出勤记录都是由教师以点名方式进行记录,最终记录结果的准确性条理性不高,并且无法方便地进行最终的数据统计,因此本文提出了一种基于人脸识别结合数据库技术的方法,可以在识别出学生的同时,结合数据库操作,对学生信息以及当前的课程信息在数据库中进行记录,方便进行统计与查询。本文采用C++语言对数据库进行操作,结合开源视觉库OpenCV中的人脸识别模块,进行整个系统的开发。  1数据库整体设计  1.1课程信息处理10  

3、为了可以正确获取当前时刻某间教室所上的课程,需要将所有课程信息存入数据库的课程信息表中,最后通过数据库查询语句获取当前时间。本文采用关键字段解析的方法对课程信息进行存储,对于汇总所有课程信息的Excel表格中的课程名称、上课地点以及上课时间等三个关键字段进行提取并且对上课时间字段进行解析,存储课程信息的数据表可以按照以下规则分为7个关键字段设计,如表1所示。从上到下的字段含义分别为课程名称、上课地点、课程起始时间、课程结束时间、课程起始周、课程结束周、本周几上课。例如某节课程的上课时间字段为:周1第9~11节{第1~16周},通过正则表达式"([1?9]\d*\.?

4、\d*)

5、(0\.\d*[1?9])",将所有数字信息1,9,11,1,16进行提取,分别存储到动态数组中,并通过执行数据库插入语句将相应字段的信息写入到数据库中。例如某学期所有课程在数据表中的存储形式,这里选择了一些课程作为示例,如表2所示。  通过对课程信息Excel的遍历,将所有课程信息存储到数据库中。  对于上课地点的存储采用教室PC的MAC地址与教室号之间一一对应的映射关系进行存储,即通过获取每间教室PC的MAC地址,从而选择出相应的教室,也就是如表2所示的Location字段。  1.2当前课程信息获取10  在学生课堂出勤信息写入数据库的同时,系统需要

6、获取到当前时刻和位置正在进行什么课程,确定当前时间正在进行的课程由四个关键信息来判断当天是周几,当前的时间,当天是本学期的第几周,以及当前所在的教室,通过判断以上四个关键字段信息,编写程序实现将对应信息转化为相关的数据库查询字符串,对四个字符串进行组合从而得到最终相应的数据库查询命令,对课程信息表进行查询。  首先对于当前是本周几的获取可以通过C++中DateTime类的DayOfWeek属性进行获取,获取后用于匹配如表2所示课程信息表中的WeekDay字段,该部分程序返回结果,以当天是周一为例,返回字符串"WeekDay=′1′;"。通过系统自带的system结构

7、获取当前的时间,并将其转换为分钟,本文中的课程时间为每天上午课程起始时间8:00,下午课程起始时间为1:30,晚上课程起始时间为6:00,每节课程45min,根据课程时间与当前时间进行比较,根据比较结果将当前时间转化为每节课程所在的时段,每天最多为12节课,所以通过分支判断结果可以分为12个时间段,进行判断的主要思想是若某节课程的起始时间段(Lesson_Time_min)小于等于当前时间段并且该课程的结束时间段(Lesson_Time_max)大于等于当前时间段,则在当前时间段必定正在进行该课程,再结合当前的日期和所在的教室就可以惟一地确定当前课程。  以表2中C

8、++程序设计基础为例,若当前时段为当天第10个时间段则程序返回数据表查询条件的字符串为"Lesson_Time_min=′10′",该语句表示在课程信息表中查询包含了第10个时间段的所有课程,C++程序设计基础课程中Lesson_Time_min字段的值等于9,Lesson_Time_max字段等于11,则该课程满足查询条件。对于当天是本学期第几周的信息,需要通过当天日期与本学期的起始日期相减,通过模7取余的方法获取当前是本学期第几周,通过switch?case语句返回不同的字符串,例如当前是本学期第1周,则程序返回字符串:"Start_Week=′1′10",

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。