基于Python Django的人臉識別上課考勤系統(附源碼,部署)

博主介紹:?程序員徐師兄、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 攝像頭

環境搭建

  1. 安裝 Python(Windows / Mac / Linux 均可)
  2. 安裝依賴庫
pip install django opencv-python dlib mysqlclient
  1. 創建 Django 項目
django-admin startproject attendance_system
cd attendance_system
python manage.py startapp face_attendance
  1. 配置 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_length=100)face_encoding = models.BinaryField()  # 存儲人臉特征class AttendanceRecord(models.Model):student = models.ForeignKey(Student, on_delete=models.CASCADE)check_in_time = models.DateTimeField(auto_now_add=True)

人臉識別模塊

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(id=student_id)record = AttendanceRecord(student=student, check_in_time=datetime.now())record.save()

前端界面

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>考勤系統</title><link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.7/css/layui.css">
</head>
<body><table class="layui-hide" id="attendanceTable" lay-filter="attendanceTable"></table><script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script><script src="https://cdn.staticfile.org/layui/2.5.7/layui.js"></script><script>layui.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套》

感興趣的可以先收藏起來,還有大家在畢設選題,項目以及文檔編寫等相關問題都可以給我留言咨詢,希望幫助更多的人

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71542.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71542.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71542.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于python實現的疫情數據可視化分析系統

基于python實現的疫情數據可視化分析系統 開發語言:Python 數據庫&#xff1a;MySQL所用到的知識&#xff1a;Django框架工具&#xff1a;pycharm、Navicat 系統功能實現 總體設計 系統實現 系統功能模塊 系統首頁可以查看首頁、疫情信息、核酸檢測、新聞資訊、個人中心、后…

(十 八)趣學設計模式 之 觀察者模式!

目錄 一、 啥是觀察者模式&#xff1f;二、 為什么要用觀察者模式&#xff1f;三、 觀察者模式的實現方式四、 觀察者模式的優缺點五、 觀察者模式的應用場景六、 總結 &#x1f31f;我的其他文章也講解的比較有趣&#x1f601;&#xff0c;如果喜歡博主的講解方式&#xff0c;…

Spring Boot 緩存最佳實踐:從基礎到生產的完整指南

Spring Boot 緩存最佳實踐&#xff1a;從基礎到生產的完整指南 引言 在現代分布式系統中&#xff0c;緩存是提升系統性能的銀彈。Spring Boot 通過 spring-boot-starter-cache? 模塊提供了開箱即用的緩存抽象&#xff0c;但如何根據業務需求實現靈活、可靠的緩存方案&#xf…

蘋果Siri升級遇阻,國行iPhone或將引入阿里、百度AI自救

AI整合進展緩慢 蘋果正加速將生成式AI技術整合至Siri&#xff0c;但內部消息稱其底層技術研發落后于競爭對手&#xff0c;進展未達預期。 國行iPhone將引入雙AI模型 蘋果計劃在2025年中期為國行iPhone引入AI功能&#xff0c;目前已敲定與 阿里巴巴、百度 合作&#xff0c;用戶…

阿里推出全新推理模型(因果語言模型),僅1/20參數媲美DeepSeek R1

阿里Qwen 團隊正式發布了他們最新的研究成果——QwQ-32B大語言模型&#xff01;這款模型不僅名字萌萌噠(QwQ)&#xff0c;實力更是不容小覷&#xff01;&#x1f60e; QwQ-32B 已在 Hugging Face 和 ModelScope 開源&#xff0c;采用了 Apache 2.0 開源協議。大家可通過 Qwen C…

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架構圖&#xff0c;與 jre&#xff0c;應用程序之前的關系 安裝使用 tomcat 10 開始&#xff0c;api 從 javax.* 轉為使用 jakarta.*&#xff0c;需要至少使用 jdk 11 cmd 中默認 gbk 編碼&#xff0c;解決控制…

JDK ZOOKEEPER KAFKA安裝

JDK17下載安裝 mkdir -p /usr/local/develop cd /usr/local/develop 將下載的包上傳服務器指定路徑 解壓文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夾名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置環境變量…

高考數學。。。

2024上 具體來說&#xff0c;直線的參數方程可以寫為&#xff1a; x1t y?t z1t 二、簡答題(本大題共5小題&#xff0c;每小題7分&#xff0c;共35分。) 12.數學學習評價不僅要關注結果評價&#xff0c;也要關注過程評價。簡要說明過程評價應關注哪幾個方面。…

C# 實現鼠標軌跡錄制與回放自動化功能(附源碼)

在軟件自動化測試或者重復性辦公任務中&#xff0c;鼠標操作的自動化可以大大減少人工干預&#xff0c;提高工作效率。這里將詳細介紹如何使用 C# 實現鼠標軌跡的錄制與回放功能&#xff0c;代碼結構清晰&#xff0c;具有較強的擴展性。 引用 NuGet 包 在開發這個功能時&…

Nacos 核心功能實戰筆記(超詳細)

Nacos 核心功能實戰筆記 一、Nacos 簡介 1. 是什么&#xff1f; 全稱&#xff1a;Nacos Naming and Configuration Service定位&#xff1a;阿里巴巴開源的 動態服務發現、配置管理、服務管理平臺核心功能&#xff1a;服務注冊與發現 統一配置管理 服務健康監測適用場景&…

安裝remixd,在VScode創建hardhat

在終端&#xff0c;以管理員身份&#xff0c;cmd 需要科學上網 npm install -g remix-project/remixd 在vscode插件中&#xff0c;安裝solidity插件&#xff0c;是暗灰色那款 1.將nodeJs的版本升級至18以上 2.在vscode打開一個新的文件&#xff0c;在終端輸入 npx hardhat 3.…

unity pico開發 四 物體交互 抓取 交互層級

文章目錄 手部設置物體交互物體抓取添加抓取抓取三種類型抓取點偏移抓取事件抓取時不讓物體吸附到手部 射線抓取交互層級 手部設置 為手部&#xff08;LeftHandController&#xff09;添加XRDirInteractor腳本 并添加一個球形碰撞盒&#xff0c;勾選isTrigger,調整大小為0.1 …

CyberRT(apollo) 定時器模塊簡述及bug分析

timer 模塊 timer的定義&#xff0c;cyberrt中timer模塊用于設置定時器任務&#xff0c;字面意思&#xff0c;設置設置定時周期及出發頻次&#xff08;周期 or oneshot)&#xff0c;到達指定時間時間觸發callback time wheel 時鐘節拍輪&#xff0c;常見的定時器設計&#x…

java八股文之消息中間件

1.RabbitMQ如何保證消息不丟失 開啟生產者確認機制&#xff0c;確保生產者的消息能到達隊列開啟持久化功能&#xff0c;確保消息未消費前在隊列中不會丟失&#xff08;交換機&#xff0c;隊列&#xff0c;消息都需要開啟持久化功能&#xff09;開啟消費者確認機制為auto,由spr…

Win7重裝不翻車!ISO鏡像安全下載渠道+BIOS設置避雷手冊

一、寫在前面&#xff1a;為什么你需要這份教程&#xff1f; 當電腦頻繁藍屏、系統崩潰甚至無法開機時&#xff0c;重裝系統可能是最后的救命稻草。但市面上的教程往往存在三大痛點&#xff1a; ?? 鏡像來源不明導致系統被植入后門 ?? 啟動盤制作失敗反復折騰 ?? 操作失…

大學至今的反思與總結

現在是2025年的3月5日&#xff0c;我大三下學期。 自大學伊始&#xff0c;我便以考研作為自己的目標&#xff0c;有時還會做自己考研上岸頭部985,211&#xff0c;offer如潮水般涌來的美夢。 但是我卻忽略了一點&#xff0c;即便我早早下定了決心去考研&#xff0c;但并沒有早…

SpringBoot 全局異常處理

文章目錄 異常處理全局異常處理(推薦)局部異常處理高級技巧設置返回狀態碼處理404異常異常處理 全局異常處理(推薦) 創建一個全局異常處理類,使用 @RestControllerAdvice 注解標記。 在方法上使用 @ExceptionHandler 聲明當前方法可處理的異常類型。當系統發生異常時,…

【四.RAG技術與應用】【11.阿里云百煉應用(上):RAG在云端的實踐】

一、為什么需要RAG?大模型的“知識困境”與破局之道 大模型雖然“博學”,但它的知識庫存在兩個致命短板: 缺乏私有知識:比如企業內部的產品手冊、客戶數據、行業報告等;知識更新滯后:大模型的訓練數據往往停留在某個時間點,無法實時獲取最新信息(比如今天的股票行情或…

使用wifi連接手機adb進行調試|不使用數據線adb調試手機|找應用錯誤日志和操作日志

手機在開發者選項里要開啟無線調試 在手機設置中查看WiFi的IP地址 設置 -> WLAN -> 已連接的WiFi -> IP地址 使用手機的IP地址連接 adb connect 192.168.1.12:xxxxx 檢查連接狀態 adb devices 斷開特定設備 adb disconnect 192.168.x.x:xxxxx 斷開所有設備 …

mapbox高階,結合threejs(threebox)添加三維球體

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??threebox Sphere靜態對象二、??使用t…