opencv tensorflow基于卷积神经网络的学生人脸识别检测系统

论坛 期权论坛     
选择匿名的用户   2021-5-30 11:16   108   0
<h3>opencv tensorflow基于卷积神经网络的学生人脸识别检测系统</h3>
<p><strong>如需安装运行环境或远程调试,可加QQ905733049由专业技术人员远程协助!</strong></p>
<p><strong>运行代码如下:</strong></p>
<pre class="blockcode"><code>import cv2
import sys
import os
import get_face
import tensorflow as tf
from PyQt5.QtWidgets import *
from MainUI import Ui_Face_Recognition_window
from addStudent import Ui_Form_Student
from delwin_ui import Ui_Form_Del


class del_window(QDialog, Ui_Form_Del):

    def refresh(self):
        proclass &#61; self.comboBox_selectClass.currentText()
        self.combobox_init(proclass&#61;proclass)
        id &#61; self.opsql.show_student_id(proclass)
        self.comboBox_selectId.clear()
        for i in range(len(id)):
            print(id[i])
            self.comboBox_selectId.addItem(str(id[i]))

    # 获取班级列表
    def combobox_init(self, proclass&#61;None):
        self.comboBox_selectClass.clear()
        table_name, table_nmu &#61; self.opsql.select_all_table()
        readlines &#61; table_nmu
        lineindex &#61; 0
        while lineindex &lt; readlines:
            self.comboBox_selectClass.addItem(table_name[lineindex])
            lineindex &#43;&#61; 1
        if proclass !&#61; &#39;&#39;:
            self.comboBox_selectClass.setCurrentText(proclass)

    def btn_enter(self):
        CLASS &#61; self.comboBox_selectClass.currentText()
        id &#61; self.comboBox_selectId.currentText()

        # 从本地删除src_img文件
        path_src &#61; &#39;../src_img/{CLASS}_{id}.jpg&#39;.format(CLASS&#61;CLASS, id&#61;id)
        path_emb &#61; &#39;../emb_img/{CLASS}_{id}.jpg&#39;.format(CLASS&#61;CLASS, id&#61;id)

        if os.path.exists(path_src):
            os.remove(path_src)
        # 从本地删除emb_img文件
        if os.path.exists(path_emb):
            os.remove(path_emb)

        self.opsql.Delete_File_Name(CLASS, id)  # 从数据库中删除这个文件名
        msg &#61; QtWidgets.QMessageBox.information(self, u&#34;完成&#34;, u&#34;删除完成!&#34;,
                                                buttons&#61;QtWidgets.QMessageBox.Ok,
                                                defaultButton&#61;QtWidgets.QMessageBox.Ok)

        self.combobox_init()


# 删除考勤表
class DelCheckTable(QDialog, Ui_Form_delCheckTable):
    def __init__(self):
        super(DelCheckTable, self).__init__()
        self.setupUi(self)
        self.initslot()
        self.opsql &#61; Operate_Sql()
        self.opfile &#61; File_Operate()
        self.comboBox_delCheckTable.clear()
        self.init_check_table()

    def init_check_table(self):
        table_name, table_nmu &#61; self.opsql.select_all_checktable()
        readlines &#61; table_nmu
        lineindex &#61; 0
        while lineindex &lt; readlines:
            row &#61; table_name[lineindex]  #
            self.comboBox_delCheckTable.addItem(table_name[lineindex])
            lineindex &#43;&#61; 1

    def initslot(self):
        self.btn_cancel.clicked.connect(self.btn_hide)
        self.btn_confirm.clicked.connect(self.confirm)
        self.btn_refresh.clicked.connect(self.refresh)

    def refresh(self):
        self.comboBox_delCheckTable.clear()
        self.init_check_table()

    def btn_hide(self):
        self.hide()

    def confirm(self):
        check_name &#61; self.comboBox_delCheckTable.currentText()
        flag &#61; self.opsql.delete_check_table(check_name)
        if flag:
            print(&#34;完成&#34;)
            msg &#61; QtWidgets.QMessageBox.information(self, u&#34;完成&#34;, u&#34;删除成功!&#34;,
                                                    buttons&#61;QtWidgets.QMessageBox.Ok,
                                                    defaultButton&#61;QtWidgets.QMessageBox.Ok)
        else:
            print(&#39;失败&#39;)
            msg &#61; QtWidgets.QMessageBox.warning(self, u&#34;警告&#34;, u&#34;不存在这个表,请更改&#34;,
                                                buttons&#61;QtWidgets.QMessageBox.Ok,
                                                defaultButton&#61;QtWidgets.QMessageBox.Ok)


# 删除人脸数据表
class DelClassTable(QDialog, Ui_DelClassTable):
    def __init__(self):
        super(DelClassTable, self).__init__()
        self.setupUi(self)
        self.initslot()
        self.opsql &#61; Operate_Sql()
        self.opfile &#61; File_Operate()
        self.init_facedate_table()
        # 初始化信号槽

    # 初始化
    def init_facedate_table(self):
        table_name, table_nmu &#61; self.opsql.select_all_table()
        readlines &#61; table_nmu
        lineindex &#61; 0
        while lineindex &lt; readlines:
            row &#61; table_name[lineindex]  #
            self.comboBox_del_facedata_table.addItem(table_name[lineindex])
            lineindex &#43;&#61; 1

    def initslot(self):
        self.btn_cancel.clicked.connect(self.btn_hide)
        self.btn_confirm.clicked.connect(self.confirm)
        self.btn_refresh.clicked.connect(self.refresh)

    def refresh(self):
        self.comboBox_del_facedata_table.clear()
        self.init_facedate_table()

    def btn_hide(self):
        self.hide()

    def confirm(self):
        # 获取院系班级
        facedate &#61; self.comboBox_del_facedata_table.currentText()
        flag &#61; self.opsql.delete_pc_table(facedate)
        if flag:
            print(&#34;完成&#34;)
  
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP