资源简介

AI人脸识别身份认证系统训练人脸识别模型 代码说明:https://blog.csdn.net/m0_38106923/article/details/88879876

资源截图

代码片段和文件信息

#!/usr/bin/env python3
#CSDN:https://blog.csdn.net/m0_38106923
#邮箱:www.1345070491@qq.com
import cv2
import numpy as np

from PyQt5.QtCore import pyqtSignal
from PyQt5.QtGui import QIcon QTextCursor
from PyQt5.QtWidgets import QApplication QWidget QMessageBox QTableWidgetItem QAbstractItemView
from PyQt5.uic import loadUi

import logging
import logging.config
import os
import shutil
import sqlite3
import sys
import threading
import multiprocessing

from datetime import datetime


# 自定义数据库记录不存在异常
class RecordNotFound(Exception):
    pass


class DataManageUI(QWidget):
    logQueue = multiprocessing.Queue()  # 日志队列
    receiveLogSignal = pyqtSignal(str)  # 日志信号

    def __init__(self):
        super(DataManageUI self).__init__()
        loadUi(‘./ui/DataManage.ui‘ self)
        self.setWindowIcon(QIcon(‘./icons/icon.png‘))
        self.setFixedSize(931 577)

        # 设置tableWidget只读,不允许修改
        self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)

        # 数据库
        self.database = ‘./Facebase.db‘
        self.datasets = ‘./datasets‘
        self.isDbReady = False
        self.initDbButton.clicked.connect(self.initDb)

        # 用户管理
        self.queryUserButton.clicked.connect(self.queryUser)
        self.deleteUserButton.clicked.connect(self.deleteUser)

        # 直方图均衡化
        self.isEqualizeHistEnabled = False
        self.equalizeHistCheckBox.stateChanged.connect(
            lambda: self.enableEqualizeHist(self.equalizeHistCheckBox))

        # 训练人脸数据
        self.trainButton.clicked.connect(self.train)

        # 系统日志
        self.receiveLogSignal.connect(lambda log: self.logOutput(log))
        self.logOutputThread = threading.Thread(target=self.receiveLog daemon=True)
        self.logOutputThread.start()

    # 是否执行直方图均衡化
    def enableEqualizeHist(self equalizeHistCheckBox):
        if equalizeHistCheckBox.isChecked():
            self.isEqualizeHistEnabled = True
        else:
            self.isEqualizeHistEnabled = False

    # 初始化/刷新数据库
    def initDb(self):
        # 刷新前重置tableWidget
        while self.tableWidget.rowCount() > 0:
            self.tableWidget.removeRow(0)
        try:
            if not os.path.isfile(self.database):
                raise FileNotFoundError

            conn = sqlite3.connect(self.database)
            cursor = conn.cursor()

            res = cursor.execute(‘SELECT * FROM users‘)
            for row_index row_data in enumerate(res):
                self.tableWidget.insertRow(row_index)
                for col_index col_data in enumerate(row_data):
                    self.tableWidget.setItem(row_index col_index QTableWidgetItem(str(col_data)))
            cursor.execute(‘SELECT Count(*) FROM users‘)
            result = cursor.fetchone()
            dbUserCount = result[0]
        except FileNotFoundError:
            logging.error(‘系统找不到数据库文件{}‘.format(self.database))
            self.isDbReady = False
            self.initDbButton.setIcon(QIcon(‘./icons/error.png‘))

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-29 13:52  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\
     目录           0  2019-03-29 13:52  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\config\
     文件         380  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\config\logging.cfg
     文件         240  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\config\telegramBot.cfg.bak
     文件       13457  2019-03-29 13:48  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\dataManage.py
     目录           0  2019-03-29 13:52  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\icons\
     文件        1343  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\icons\error.png
     文件        1905  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\icons\icon.png
     文件        1409  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\icons\success.png
     文件         772  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\icons\warning.png
     目录           0  2019-03-29 13:51  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\ui\
     文件       11578  2018-05-09 11:07  Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型\ui\DataManage.ui

评论

共有 条评论