国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計(jì)算機(jī)畢業(yè)設(shè)計(jì):基于python人臉識別考勤系統(tǒng) OpenCV+Dlib(包含文檔+源碼+部署教程)

這篇具有很好參考價(jià)值的文章主要介紹了計(jì)算機(jī)畢業(yè)設(shè)計(jì):基于python人臉識別考勤系統(tǒng) OpenCV+Dlib(包含文檔+源碼+部署教程)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

[畢業(yè)設(shè)計(jì)]2023-2024年最新最全計(jì)算機(jī)專業(yè)畢設(shè)選題推薦匯總

感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助更多的人?。

1、項(xiàng)目介紹

Python語言、dlib、OpenCV、Pyqt5界面設(shè)計(jì)、sqlite3數(shù)據(jù)庫

方法實(shí)現(xiàn)、實(shí)現(xiàn)步驟
1、實(shí)例化人臉檢測模型、人臉關(guān)鍵點(diǎn)檢測模型、人臉識別模型
2、電腦攝像頭設(shè)備加載一對圖片
3、分別獲取圖片中的人臉圖片所映射的空間向量,即人臉特征值
4、計(jì)算特征向量歐氏距離,根據(jù)閾值判斷是否為同一個(gè)人

2、項(xiàng)目界面

(1)攝像頭人臉識別界面
基于python的課堂人臉識別簽到系統(tǒng)源碼,畢業(yè)設(shè)計(jì),biyesheji0002,biyesheji0001,課程設(shè)計(jì),python,opencv,深度學(xué)習(xí),人工智能

(2)人臉識別記錄
基于python的課堂人臉識別簽到系統(tǒng)源碼,畢業(yè)設(shè)計(jì),biyesheji0002,biyesheji0001,課程設(shè)計(jì),python,opencv,深度學(xué)習(xí),人工智能

(3)人臉錄入界面
基于python的課堂人臉識別簽到系統(tǒng)源碼,畢業(yè)設(shè)計(jì),biyesheji0002,biyesheji0001,課程設(shè)計(jì),python,opencv,深度學(xué)習(xí),人工智能

(4)數(shù)據(jù)庫管理界面

基于python的課堂人臉識別簽到系統(tǒng)源碼,畢業(yè)設(shè)計(jì),biyesheji0002,biyesheji0001,課程設(shè)計(jì),python,opencv,深度學(xué)習(xí),人工智能

(5)關(guān)于界面

基于python的課堂人臉識別簽到系統(tǒng)源碼,畢業(yè)設(shè)計(jì),biyesheji0002,biyesheji0001,課程設(shè)計(jì),python,opencv,深度學(xué)習(xí),人工智能

3、項(xiàng)目說明

Python語言、dlib、OpenCV、Pyqt5界面設(shè)計(jì)、sqlite3數(shù)據(jù)庫

本系統(tǒng)使用dlib作為人臉識別工具,dlib提供一個(gè)方法可將人臉圖片數(shù)據(jù)映射到128維度的空間向量,如果兩張圖片來源于同一個(gè)人,那么兩個(gè)圖片所映射的空間向量距離就很近,否則就會很遠(yuǎn)。因此,可以通過提取圖片并映射到128維空間向量再度量它們的歐氏距離是否足夠小來判定是否為同一個(gè)人。

方法實(shí)現(xiàn)、實(shí)現(xiàn)步驟
1、實(shí)例化人臉檢測模型、人臉關(guān)鍵點(diǎn)檢測模型、人臉識別模型
2、電腦攝像頭設(shè)備加載一對圖片
3、分別獲取圖片中的人臉圖片所映射的空間向量,即人臉特征值
4、計(jì)算特征向量歐氏距離,根據(jù)閾值判斷是否為同一個(gè)人

開發(fā)技術(shù)環(huán)境: Pycharm + Python3.6 + PyQt5 + OpenCV + 人臉特征模型

本系統(tǒng)先調(diào)取opencv攝像頭進(jìn)行人臉信息拍照然后識別人臉特征數(shù)據(jù),并且錄入自己的學(xué)號姓名,將識別的人臉特征向量信息保存到人臉數(shù)據(jù)庫當(dāng)中產(chǎn)生數(shù)據(jù)記錄,并且可以按照學(xué)號搜索人臉數(shù)據(jù)庫當(dāng)中的學(xué)生信息,可以修改學(xué)生的姓名以及學(xué)號等,學(xué)生錄入進(jìn)自己的人臉信息后可以進(jìn)行人臉識別,人臉識別主要是調(diào)用opencv打開攝像頭拍攝自己的人臉然后調(diào)取人臉模型進(jìn)行識別,將識別到的人臉特征向量和人臉庫中的特征向量匹配并計(jì)算出相似度,如果匹配相似度太低則提示不存在請您先錄入人臉信息,匹配度達(dá)到百分七十以及八十以上則匹配出數(shù)據(jù)庫里面對應(yīng)的學(xué)生識別記錄,并且形成識別記錄,這個(gè)識別記錄也是可以搜索修改和刪除的。

4、部分代碼

from PyQt5.QtWidgets import QApplication
from PyQt5 import QtCore
from control.mainWindow import MyWindow
import sys

#PyQt使用高分辨率
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

#主函數(shù)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    #實(shí)例化主界面
    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


源碼獲取:

??由于篇幅限制,獲取完整文章或源碼、代做項(xiàng)目的,查看主頁【專欄名稱】或者【用戶名】或者頂部的【選題鏈接】就可以找到我獲取項(xiàng)目源碼學(xué)習(xí)啦~??

大家點(diǎn)贊、收藏、關(guān)注、評論啦 ! 文章來源地址http://www.zghlxwxcb.cn/news/detail-764367.html

到了這里,關(guān)于計(jì)算機(jī)畢業(yè)設(shè)計(jì):基于python人臉識別考勤系統(tǒng) OpenCV+Dlib(包含文檔+源碼+部署教程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包