赞
踩
[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 。
Python语言、dlib、OpenCV、Pyqt5界面设计、sqlite3数据库
方法实现、实现步骤
1、实例化人脸检测模型、人脸关键点检测模型、人脸识别模型
2、电脑摄像头设备加载一对图片
3、分别获取图片中的人脸图片所映射的空间向量,即人脸特征值
4、计算特征向量欧氏距离,根据阈值判断是否为同一个人
(1)摄像头人脸识别界面
(2)人脸识别记录
(3)人脸录入界面
(4)数据库管理界面
(5)识别记录界面
Python语言、dlib、OpenCV、Pyqt5界面设计、sqlite3数据库
本系统使用dlib作为人脸识别工具,dlib提供一个方法可将人脸图片数据映射到128维度的空间向量,如果两张图片来源于同一个人,那么两个图片所映射的空间向量距离就很近,否则就会很远。因此,可以通过提取图片并映射到128维空间向量再度量它们的欧氏距离是否足够小来判定是否为同一个人。
方法实现、实现步骤
1、实例化人脸检测模型、人脸关键点检测模型、人脸识别模型
2、电脑摄像头设备加载一对图片
3、分别获取图片中的人脸图片所映射的空间向量,即人脸特征值
4、计算特征向量欧氏距离,根据阈值判断是否为同一个人
开发技术环境: Pycharm + Python3.6 + PyQt5 + OpenCV + 人脸特征模型
本系统先调取opencv摄像头进行人脸信息拍照然后识别人脸特征数据,并且录入自己的学号姓名,将识别的人脸特征向量信息保存到人脸数据库当中产生数据记录,并且可以按照学号搜索人脸数据库当中的学生信息,可以修改学生的姓名以及学号等,学生录入进自己的人脸信息后可以进行人脸识别,人脸识别主要是调用opencv打开摄像头拍摄自己的人脸然后调取人脸模型进行识别,将识别到的人脸特征向量和人脸库中的特征向量匹配并计算出相似度,如果匹配相似度太低则提示不存在请您先录入人脸信息,匹配度达到百分七十以及八十以上则匹配出数据库里面对应的学生识别记录,并且形成识别记录,这个识别记录也是可以搜索修改和删除的。
from PyQt5.QtWidgets import QApplication from PyQt5 import QtCore from control.mainWindow import MyWindow import sys #PyQt使用高分辨率 QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) #主函数 if __name__ == '__main__': app = QApplication(sys.argv) #实例化主界面 myWin = MyWindow() #显示主界面 myWin.show() sys.exit(app.exec_()) from datetime import datetime import time #find the course attend def find_current_course(tableDict): have_class = 0 course_name = None classroom = None start_time = None end_time =None late = 0 current_time = datetime.now().strftime("%H:%M") current_week = int(time.strftime("%w")) current_week_key = list(tableDict.keys())[current_week - 1] today_course = tableDict[current_week_key] if current_week in [0,6]: print("None") return have_class,course_name,classroom,start_time,end_time,late else: print(today_course) min_diff_time = 24 * 60 for course in today_course: if course != []: if in_course_time(course[2],course[3],current_time): print(in_course_time(course[2],course[3],current_time)) have_class = 1 course_name = course[0] classroom = course[1] start_time = course[2] end_time = course[3] late = 1 return have_class,course_name,classroom,start_time,end_time,late else: current_diff_time = diff_time(course[2],current_time) if current_diff_time <= 0 and current_diff_time < min_diff_time: min_diff_time = current_diff_time print("min_time:{}".format(min_diff_time)) have_class = 1 course_name = course[0] classroom = course[1] start_time = course[2] end_time = course[3] late = 0 return have_class, course_name, classroom, start_time, end_time, late print("None") return have_class, course_name, classroom, start_time, end_time, late print(current_time) print(current_week) # the difference of two time def diff_time(time1,time2): t1,m1 = int(time1.split(':')[0]), int(time1.split(':')[1]) t2, m2 = int(time2.split(':')[0]), int(time2.split(':')[1]) time1_min = t1 * 60 + m1 time2_min = t2 * 60 + m2 return time2_min - time1_min #current time is in course time? def in_course_time(start_time,end_time,current_time): if diff_time(start_time,current_time) > 0 and diff_time(end_time,current_time) < 0: return True else: return False
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/371174?site
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。