总体要求: 适合我们上课点名签到的应用场景,而且需要考虑到中北大学所有上课签到的情况。
我们上课点名签到的主要特点: 1、流动性很大:每个学期的学生都不同,同一个学期还有好几个合班课,每个合班课由几个班级组成;
2、学生签到时间非常集中。
系统改进的具体要求: 1、原系统源代码都在workAttendanceSystem文件里,改为至少两个.py文件,一个文件是界面的函数;另一个是数据的函数。然后使用import导入。
2、原系统的添加人员或者初始化是输入,而我们的系统初始化是事先准备两个文件,即学生名单文件与人脸图片文件,放到当前目录下。人脸图片文件的名称为学生的学号,由每个同学提供(拍一张正脸的照片就行)。学生名单文件名无所谓,由老师提供(见《2020秋上课学生名单.txt》文件)。学生名单文件由手动选择文件读取,而人脸图片文件有系统自动按照文件名读取。
3、系统的初始化是读取上面的两个文件,并保存到数据库。
4、原系统添加人员时,会读10次人脸,然后求平均脸。我们的系统应该是每次只读一次人脸,但是数据库中保存最新的人脸数据与平均脸数据两份人脸数据。每次签到成功后都更新这两个人脸数据。
5、人脸签到时,不仅要框出人脸,而且要在上面显示“同学的姓名”的字样,左边的提示信息为“学号,姓名,你好!”。左边提示框不要提示原系统的那么多次信息。
6、放开原系统每帧只提取最大人脸的限制,我们的系统应该是可以同时多人的签到。