线上教学实时考勤系统开发.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

线上教学实时考勤系统开发

中图分类号:TP391.1文献标识码:A论文编号:1674-2117(2024)20-0000-04

在数字化时代,在线教学已经成为一种新的教学常态,因而也催生了大量的在线教学软件,在高校中用于在线教学的常用软件有雨课堂、腾讯会议、QQ群课堂等。

在教学管理中,出勤考核是学生成绩考核的重要组成部分。而大多数在线教学软件主要提供课后考勤数据,可以在课后查看学生们的到课情况,如雨课堂、腾讯会议导出的Excel课堂数据表,可查看上课签到时间、离开时间、在线时间等。但课上考勤,往往只能提供到课人数、到课人员姓名查看,无法即时提供上课班级总体考勤情况,这与考勤要求存在一定的差距。主要问题是:①无法提供上课时学生到课细节,如刚开始上课时,未到课学生姓名无法快速获取,且难以及时通知提醒其上课;②导出的考勤结果文件需要手工处理才能把数据记录在给定格式的记录表中,考勤效率较低。

针对上述的线上教学考勤问题,笔者以雨课堂在线教学软件为例,介绍基于PC端的在线教学软件实时考勤数据处理系统开发。该系统能够实现雨课堂在线教学软件的在线考勤,实时反馈缺课、早退等学生姓名,并将考勤数据自动记录到给定格式的记录文档中,减少考勤工作量,提高考勤的效率。

1.技术路线分析

2.系统架构设计

根据考勤操作的具体要求,从考勤的实际操作过程出发,进行系统架构设计(如图1)。展示层是用户与系统之间进行数据传递和互动操控的接口;业务层是系统的核心,用于实现班级管理和考勤统计的功能;数据层则实现记录文件的保存及访问。

3.系统模块设计

系统模块结构如图2所示,其中包含班级管理、考勤管理2个模块。

班级管理模块中,添加班级是建立班级与考勤记录表之间的关系,修改、删除班级则是对已有的班级与考勤记录表关系进行修改或删除。

考勤管理模块的主要功能是截取在线教学软件当前在线人员的界面,然后将截图上的文字信息进行识别,提取姓名。上课考勤是在刚开始上课时进行考勤,并将已到课的考勤结果记录到数据文件上;课中考勤则是在课间的某个时间进行考勤,并将考勤时刻的迟到人员、早退人员写入及更新原来的上课记录文件。

考勤管理是系统的核心,具体的考勤流程图如图3所示。

1.截图实现

当上课学生人数较多时,在线教学软件当前在线人员的界面需要滚动才能查看所有上课学生的信息,因此要采用滚动截屏的方法进行截图,其实现步骤为[1]:滚动界面→图片截取→图片拼接点辨识→图片拼接。滚动界面使用pynput模块的滚动功能实现。图片截取用Qt的截屏方法实现。图片拼接点辨识是滚动截屏生成完成截屏图片的关键,通过比较截屏所得的相邻图片,寻找下一张图片在前一张图片的相同部分位置,并记录下来。但有些截屏区域包含不滚动部分,即所有图片都有相同的头部或边框,不能直接用截取的图片来寻找拼接点,需要比较多张图片来去除相同部分的影响。最后将图片转为数组,通过数组实现图片拼接。

2.图片处理

截屏拼接得到的图片,还要通过一定的处理后才能进行文字识别。不同的班级上课的人数不同,当前在线人员的界面截取图片长度的变化也较大。查阅百度AI开放平台官网可知[2],图像数据base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px。

文字识别正确率与截图图片长边的长度有很大的关联,当截图图片长边太大时,文字识别正确率会下降,甚至无法识别。通过对在线人员的界面截屏图片进行试验比较,笔者发现当图片长度不超过1500px时,文字识别准确率与识别速度两者可达到较好的平衡。因此,在进行识别之前,要先检查截图长边的像素,若大于1500px,就将图片分割,然后识别结果并合并。

3.文字识别

百度AI开放平台免费开放通用文字高精度识别,识别准确率及使用次数完全可以满足日常使用要求,调用设置也比较简单,本系统使用了百度AI开放平台提供的OCRAPI接口进行在线识别。首先,安装requests库以发送HTTP请求,在百度AI开放平台上创建应用并获取APIKey、SecretKey等信息用于身份认证和接口调用。其次,在程序中导入所需的模块和函数,传入图片对象,加载图片并转换为Base64编码。最后,构造POST请求参数后发送POST请求得到返回结果。[3]

4.文字处理

在整理考勤记录前,百度AI开放平台返回的识别文字要经过以下处理。

①姓名提取。在雨课堂中,当学生以实名及学号注册账号加入班级后,课上的成员列表会显示其姓名与学号。在对图片识别文字后,就得到了姓名与学号的文本信息。

②姓名纠错。系统对识别后得到的姓名设置了纠错环节,其操作是将识别得到的姓名在点名册中搜索,获得未搜索到结果的姓名、与点名册中没有匹配项的姓名,通过difflib.get_clos

文档评论(0)

std365 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档