建设外贸购物网站,长尾词排名优化软件,wordpress免费教育机构主题,电子商务是干什么的就业前景博主介绍#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ #x1f345;文末获取源码联系#x1f345; #x1f447;#x1f3fb; 精彩专栏推荐订阅#x1f447;… 博主介绍✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全1000个热门选题推荐✅ Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 Python项目实战《100套》 感兴趣的可以先收藏起来还有大家在毕设选题项目以及文档编写等相关问题都可以给我留言咨询希望帮助更多的人 引言
Hello大家好这里是程序员徐师兄今天带大家来搞点硬核的东西——基于 Python Django 开发一个人脸识别考勤系统。这个系统主要应用于学校课堂或者公司签到场景利用 OpenCV 和 dlib 进行人脸检测再结合 Django MySQL 实现考勤数据管理。
咱们这篇文章会从 环境搭建、数据库设计、人脸识别、考勤逻辑、前端展示 这些方面详细拆解让你一次学个透 基于 Python Django的人脸识别上课考勤系统 技术选型
咱们这个项目主要使用以下技术栈
后端Python 3.8 Django 4.x人脸识别OpenCV dlib数据库MySQL前端LayUI jQuery硬件USB 摄像头
环境搭建
安装 PythonWindows / Mac / Linux 均可安装依赖库
pip install django opencv-python dlib mysqlclient创建 Django 项目
django-admin startproject attendance_system
cd attendance_system
python manage.py startapp face_attendance配置 MySQL 连接settings.py
DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: attendance_db,USER: root,PASSWORD: 123456,HOST: localhost,PORT: 3306,}
}数据库设计 from django.db import modelsclass Student(models.Model):name models.CharField(max_length100)face_encoding models.BinaryField() # 存储人脸特征class AttendanceRecord(models.Model):student models.ForeignKey(Student, on_deletemodels.CASCADE)check_in_time models.DateTimeField(auto_now_addTrue)人脸识别模块
import dlib
import cv2# 初始化人脸检测器
face_detector dlib.get_frontal_face_detector()
face_recognition_model dlib.face_recognition_model_v1(dlib_face_recognition_resnet_model_v1.dat)cap cv2.VideoCapture(0)while True:ret, frame cap.read()if not ret:breakfaces face_detector(frame, 1)for face in faces:face_encoding face_recognition_model.compute_face_descriptor(frame, face)# 在数据库中匹配该 face_encodingcv2.imshow(Face Recognition, frame)if cv2.waitKey(1) 0xFF ord(q):breakcap.release()
cv2.destroyAllWindows()考勤逻辑
from .models import Student, AttendanceRecord
from datetime import datetimedef record_attendance(student_id):student Student.objects.get(idstudent_id)record AttendanceRecord(studentstudent, check_in_timedatetime.now())record.save()前端界面
!DOCTYPE html
html
headmeta charsetutf-8title考勤系统/titlelink relstylesheet hrefhttps://cdn.staticfile.org/layui/2.5.7/css/layui.css
/head
bodytable classlayui-hide idattendanceTable lay-filterattendanceTable/tablescript srchttps://cdn.staticfile.org/jquery/3.2.1/jquery.min.js/scriptscript srchttps://cdn.staticfile.org/layui/2.5.7/layui.js/scriptscriptlayui.use(table, function(){var table layui.table;table.render({elem: #attendanceTable,url: /attendance/data/,cols: [[{field: name, title: 姓名},{field: check_in_time, title: 签到时间}]]});});/script
/body
/html结语
这样一个完整的 基于 Python Django 的人脸识别考勤系统 就完成了
你学到了什么
如何使用 OpenCV dlib 进行人脸识别如何用 Django 设计数据库和实现考勤逻辑如何用 LayUI 搭建简洁高效的前端界面
源码获取 大家点赞、收藏、关注、评论啦 、查看获取联系方式 精彩专栏推荐订阅 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全1000个热门选题推荐✅ Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 Python项目实战《100套》 感兴趣的可以先收藏起来还有大家在毕设选题项目以及文档编写等相关问题都可以给我留言咨询希望帮助更多的人