前言
暑假学校软工实践项目,节选了一部分上传,可以实现手动上传图片和拍照保存,数据库的表需要name, encoding_str两个字段
代码如下:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import cv2
import face_recognition
import pymysql
import numpy as np
class Ui_MainWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent) # 父类的构造函数
self.timer_camera = QtCore.QTimer() # 定义定时器,用于控制显示视频的帧率
self.cap = cv2.VideoCapture() # 视频流
self.CAM_NUM = 0 # 为0时表示视频流来自笔记本内置摄像头
self.set_ui() # 初始化程序界面
self.slot_init() # 初始化槽函数
'''程序界面布局'''
def set_ui(self):
self.__layout_main = QtWidgets.QHBoxLayout() # 总布局
self.__layout_fun_button = QtWidgets.QVBoxLayout() # 按键布局
self.__layout_data_show = QtWidgets.QVBoxLayout() # 数据(视频)显示布局
self.button_open_camera = QtWidgets.QPushButton('打开相机') # 建立用于打开摄像头的按键
self.button_close = QtWidgets.QPushButton('退出') # 建立用于退出程序的按键
self.button_save = QtWidgets.QPushButton('保存')
self.button_load = QtWidgets.QPushButton('上传')
self.nameLineEdit = QtWidgets.QLineEdit("请输入姓名")
self.button_open_camera.setMinimumHeight(50) # 设置按键大小
self.button_close.setMinimumHeight(50)
self.button_save.setMinimumHeight(50)
self.button_load.setMinimumHeight(50)
self.button_close.move(10, 100