python opencv人脸识别考勤系统的完整源码

这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值。

代码如下:

import wx
import wx.grid
from time import localtime,strftime
import os
import io
import zlib
import dlib # 人脸识别的库dlib
import numpy as np # 数据处理的库numpy
import cv2 # 图像处理的库OpenCv
import _thread
import threading

ID_NEW_REGISTER = 160
ID_FINISH_REGISTER = 161

ID_START_PUNCHCARD = 190
ID_END_PUNCARD = 191

ID_OPEN_LOGCAT = 283
ID_CLOSE_LOGCAT = 284

ID_WORKER_UNAVIABLE = -1

PATH_FACE = “data/face_img_database/”

face recognition model, the object maps human faces into 128D vectors

facerec = dlib.face_recognition_model_v1(“model/dlib_face_recognition_resnet_model_v1.dat”)

Dlib 预测器

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(‘model/shape_predictor_68_face_landmarks.dat’)

class WAS(wx.Frame):
def init(self):
wx.Frame.init(self,parent=None,title=“员工考勤系统”,size=(920,560))

    self.initMenu()
    self.initInfoText()
    self.initGallery()
    self.initDatabase()
    self.initData()

def initData(self):
    self.name = ""
    self.id =ID_WORKER_UNAVIABLE
    self.face_feature = ""
    self.pic_num = 0
    self.flag_registed = False
    self.puncard_time = "21:00:00"
    self.loadDataBase(1)

def initMenu(self):

    menuBar = wx.MenuBar()  #生成菜单栏
    menu_Font = wx.Font()#Font(faceName="consolas",pointsize=20)
    menu_Font.SetPointSize(14)
    menu_Font.SetWeight(wx.BOLD)


    registerMenu = wx.Menu() #生成菜单
    self.new_register = wx.MenuItem(registerMenu,ID_NEW_REGISTER,"新建录入")
    self.new_register.SetBitmap(wx.Bitmap("drawable/new_register.png"))
    self.new_register.SetTextColour("SLATE BLUE")
    self.new_register.SetFont(menu_Font)
    registerMenu.Append(self.new_register)

    self.finish_register = wx.MenuItem(registerMenu,ID_FINISH_REGISTER,"完成录入")
    self.finish_register.SetBitmap(wx.Bitmap("drawable/finish_register.png"))
    self.finish_register.SetTextColour("SLATE BLUE")
    self.finish_register.SetFont(menu_Font)
    self.finish_register.Enable(False)
    registerMenu.Append(self.finish_register)


    puncardMenu = wx.Menu()
    self.start_punchcard = wx.MenuItem(puncardMenu,ID_START_PUNCHCARD,"开始签到")
    self.start_punchcard.SetBitmap(wx.Bitmap("drawable/start_pu
  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知阅码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值