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
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
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)
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
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
源码获取:
🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看主页【专栏名称】或者【用户名】或者顶部的【选题链接】就可以找到我获取项目源码学习啦~🍅
大家点赞、收藏、关注、评论啦 !
Python基于opencv人脸识别的考勤系统源码+详细代码注释(毕业设计).zip 【资源说明】
Python基于opencv人脸识别的考勤系统源码+详细代码注释(毕业设计).zip
Python基于opencv人脸识别的考勤系统—
使用说明:
1.打开摄像头
2.进行人脸录入(第一次必须输入id和选取一张识别照片)
3。进行建模学习
4.进行考勤
5.进行之后的录入后不用再选取当前人员的识别照片
版本为1.0测试
PS:按照缺差补齐所有库
根据数据集多少来判断准确,越多越好,最好录入多个角度的照片(每次录入5张照片,会卡一下)
离摄像头过远可能会闪退,此bug还未修复
尽量人物保持居中,不要太远
版本为1.2
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。
3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、
基于opencv+python的企业员工人脸识别考勤系统源码(毕业设计).zip 该项目是个人毕业设计项目源码,评审分达到95分以上,已获导师指导并通过的项目,都经过严格调试,确保可以运行!放心下载使用。
基于opencv+python的企业员工人脸识别考勤系统源码(毕业设计).zip 该项目是个人毕业设计项目源码,评审分达到95分以上,已获导师指导并通过的项目,都经过严格调试,确保可以运行!放心下载使用。基于opencv+python的企业员工人脸识别考勤系统源码(毕业设计).zip 该项目是个人毕业设计项目源码,评审分达到95分以上,已获导师指导并通过的项目,都经过严格调试,确保可以运行!放心下载使用。基于opencv+python的企业员工人脸识别考勤系统源码(毕业设计).zip 该项目是个人毕业设计项目源码,评审分达到95分以上,已获导师指导并通过的项目,都经过严格调试,确保可以运行!放心下载使用。基于opencv+python的企业员工人脸识别考勤系统源码(毕业设计).zip 该项目是个人毕业设计项目源码,评审分达到95分以上,已获导师指导并通过的项目,都经过严格调试,确
Python语言、dlib、OpenCV、Pyqt5界面设计、sqlite3数据库
本系统使用dlib作为人脸识别工具,dlib提供一个方法可将人脸图片数据映射到128维度的空间向量,如果两张图片来源于同一个人,那么两个图片所映射的空间向量距离就很近,否则就会很远。因此,可以通过提取图片并映射到128维空间向量再度量它们的欧氏距离是否足够小来判定是否为同一个人。
二、方法实现、实现步骤
1、实例化人脸检测模型、人脸关键点检测模型、人脸识别模型
2、电脑摄像头设备加载一对图片
3、分别获取图片中的人脸图片所映射的空间向量,即人脸特征值
4、计算特征向量欧氏距离,根据阈值判断是否为同一个人
dlib人脸特征检测原理
1、提取特征点:例:
2、将特征值保存
3、计算特征数据集的欧氏距离作对比,当误差小于一定阙值就判定为同一人。
其他学习项目:
OpenCV+dlib人脸识别门禁管理系统Python语言、dlib、OpenCV、Pyqt5、sqlite3数据库
OpenCV+dlib人脸识别考勤管理系统Python语言、dlib、OpenCV
C++基于Qt,OpenCV,Dlib的人脸识别GUI系统源码.windows上用Qt打开.pro运行即可 linux上需要重新编译人脸识别动态库,将facerecog.cpp加入工程
GUI界面有四个按钮,对应按键的功能
一.人脸识别 1.陌生人识别 输入图片说明 左上角显示红色圆圈表示此人为陌生人 2.识别出具体的人并且显示其名字 输入图片说明 3.远处识别 输入图片说明 4.近处识别 输入图片说明 二.追踪功能 1.持续追踪 输入图片说明 输入图片说明 2.侧脸追踪 输入图片说明C++基于Qt,OpenCV,Dlib的人脸识别GUI系统源码.windows上用Qt打开.pro运行即可 linux上需要重新编译人脸识别动态库,将facerecog.cpp加入工程
GUI界面有四个按钮,对应按键的功能
一.人脸识别 1.陌生人识别 输入图片说明 左上角显示红色圆圈表示此人为陌生人 2.识别出具体的人并且显示其名字 输入图片说明 3.远处识别 输入图片说明 4.近处识别 输入图片说明 二.追踪功能 1.持续追踪 输入图片说明 输入图片说明 2.侧脸追踪