资源简介
使用OpenCv检测用户人脸(支持内置、外置摄像头两种模式),检测到人脸信息后即可采集人来数据,填写用户信息,将采集到的数据集存储到数据库中。
代码说明:Python+OpenCv实现AI人脸识别身份认证系统(1)——人脸识别原理
代码片段和文件信息
#!/usr/bin/env python3
#CSDN:https://blog.csdn.net/m0_38106923
#邮箱:www.1345070491@qq.com
import cv2
from PyQt5.QtCore import QTimer QRegExp pyqtSignal
from PyQt5.QtGui import QImage QPixmap QIcon QRegExpValidator QTextCursor
from PyQt5.QtWidgets import QDialog QApplication QWidget QMessageBox
from PyQt5.uic import loadUi
import logging
import logging.config
import queue
import threading
import sqlite3
import os
import sys
from datetime import datetime
# 用户取消了更新数据库操作
class OperationCancel(Exception):
pass
# 采集过程中出现干扰
class RecordDisturbance(Exception):
pass
class DataRecordUI(QWidget):
receiveLogSignal = pyqtSignal(str)
def __init__(self):
super(DataRecordUI self).__init__()
loadUi(‘./ui/DataRecord.ui‘ self)
self.setWindowIcon(QIcon(‘./icons/icon.png‘))
self.setFixedSize(1011 601)
# OpenCV
self.cap = cv2.VideoCapture()
self.faceCascade = cv2.CascadeClassifier(‘./haarcascades/haarcascade_frontalface_default.xml‘)
self.logQueue = queue.Queue() # 日志队列
# 图像捕获
self.isExternalCameraUsed = False
self.useExternalCameraCheckBox.stateChanged.connect(
lambda: self.useExternalCamera(self.useExternalCameraCheckBox))
self.startWebcamButton.toggled.connect(self.startWebcam)
self.startWebcamButton.setCheckable(True)
# 定时器
self.timer = QTimer(self)
self.timer.timeout.connect(self.updateframe)
# 人脸检测
self.isFaceDetectEnabled = False
self.enableFaceDetectButton.toggled.connect(self.enableFaceDetect)
self.enableFaceDetectButton.setCheckable(True)
# 数据库
self.database = ‘./Facebase.db‘
self.datasets = ‘./datasets‘
self.isDbReady = False
self.initDbButton.setIcon(QIcon(‘./icons/warning.png‘))
self.initDbButton.clicked.connect(self.initDb)
# 用户信息
self.isUserInfoReady = False
self.userInfo = {‘stu_id‘: ‘‘ ‘cn_name‘: ‘‘ ‘en_name‘: ‘‘}
self.addOrUpdateUserInfoButton.clicked.connect(self.addOrUpdateUserInfo)
self.migrateToDbButton.clicked.connect(self.migrateToDb)
# 人脸采集
self.startFaceRecordButton.clicked.connect(lambda: self.startFaceRecord(self.startFaceRecordButton))
# self.startFaceRecordButton.setCheckable(True)
self.faceRecordCount = 0
self.minFaceRecordCount = 100
self.isFaceDataReady = False
self.isFaceRecordEnabled = False
self.enableFaceRecordButton.clicked.connect(self.enableFaceRecord)
# 日志系统
self.receiveLogSignal.connect(lambda log: self.logOutput(log))
self.logOutputThread = threading.Thread(target=self.receiveLog daemon=True)
self.logOutputThread.start()
# 是否使用外接摄像头
def useExternalCamera(self useExternalCameraCheckBox):
if useExternalCameraCheckBox.isChecked():
self.isExternalCameraUsed = True
else:
self.isExter
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 380 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\config\logging.cfg
文件 240 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\config\telegramBot.cfg.bak
文件 21342 2019-02-15 11:43 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\dataRecord.py
文件 930127 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\haarcascades\haarcascade_frontalface_default.xm
文件 1343 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\icons\error.png
文件 1905 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\icons\icon.png
文件 1409 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\icons\success.png
文件 772 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\icons\warning.png
文件 10860 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\ui\DataRecord.ui
文件 3971 2018-05-09 11:07 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\ui\UserInfoDialog.ui
目录 0 2019-02-15 11:45 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\config
目录 0 2019-02-15 11:49 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\datasets
目录 0 2019-02-15 11:47 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\haarcascades
目录 0 2019-02-15 11:45 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\icons
目录 0 2019-02-15 11:48 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储\ui
目录 0 2019-02-15 11:49 Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储
----------- --------- ---------- ----- ----
972349 16
相关资源
- SVM人脸识别的Python代码
- 卷积神经网络人脸识别.txt
- python人脸识别、人体识别、耳朵眼睛
- 人脸识别face recognition
- 基于PYQT编写的人脸识别软件
- TensorFlow实现人脸识别(3)--------对人
- 百度人脸识别-人脸对比
- Python+OpenCv实现AI人脸识别身份认证系
- 人脸识别UI Pythone+pyq5+opencv 多线程模式
- python调用opencv实现人脸识别的简单D
- Drowsiness_Detection
- python3.7+dlib19.17人脸识别库
- 基于OpenCV的人脸识别-python3.zip
- python打开摄像头,识别摄像头前的人
- Python实现人脸识别源码以及相关理论
- opencv-Python人脸识别
- python人脸识别论文(含代码).docx
- 视频中的人脸识别
- 人脸识别Demo系列免费、带离线——人
- 人脸识别考勤打卡.zip
- 基于树莓派的人脸识别打卡系统
- Windows安装dlib的轮子dlib-18.17.100-cp27-
- 腾讯人脸检测 入门demo,python3 版
评论
共有 条评论