3.18/3.20/3.21
人脸自动打卡封装成系统
1)将人脸打卡代码从语音机器人中分离出来并封装固化成Class,通过配置文件添加代码中的固定参数。
2)能通过excel快速、便捷地为系统添加新需要打卡的人
3)摄像头开启,自动打卡,打卡成功后一段时间内禁止再次打卡(这个一段时间参数在setting.py中配置)。
4)将每个已打卡记录存储成excel,每条记录至少包括:时间(精确到时分秒)、打卡人姓名
#录入人员信息name_dict.xlsx
#打卡记录record.xls
#人脸库face_encoding_known.json
- create_known_face_encodings创建人脸数据库:face_recognition包#每天0点更新一次数据库
- face_recognition.load_image_file(pic)读入摄像头采集的图片
- face_recognition.face_locations
- face_recognition.face_encodings(image, face_locations)
- self.face_distance 2范数距离
- self.face_compare 求取最相似encoding,找到存在的相对应name,
- 将name、location保存information
- cv2.putText(frame,str(information['name']), (left,top),cv2.FONT_HERSHEY_SIMPLEX,1, (0,0,255),5)
- 判断打卡时间间隔是否过短(与记录最近一次打卡相比),记录打卡信息(或提示无需重复打卡)。