基于人脸识别的课堂签到管理系统——学习笔记(环境及Pyqt5使用)

一、软件工程的三个阶段

(一)定义阶段

定义阶段主要进行可行性分析和需求分析。

  1. 可行性分析
    (1) 技术可行性
    (2)成本可行性
      ① 开发评估成本
      ②收益评估成本
  2. 需求分析(以人脸识别的课堂签到管理系统为例)
    (1)摄像头进行人脸检测
    (2)人脸比对判断
    (3)人脸库创建
    (4)人脸库的增加数据,删除数据
    (5)数据库数据的保存
    (6)导出签到的相关数据

(二)开发阶段

开发阶段主要是进行概要设计,详细设计,实现,测试。

  1. 概要设计
    主要是对整个系统需要划分的模块进行设计,其中包括每个模块之间关系,模块联系的接口,模块功能的组成等。
  2. 详细设计
    主要是模块中功能的实现的流程进行设计。
  3. 实现
    主要是对详细设计中的功能的流程编写成代码,实现各个功能。
  4. 测试
    主要是对每个功能进行测试,看功能的正确性与稳定性。

(三)运行维护阶段

运行维护阶段主要是将软件工程交付给客户或上线运营,以及维护软件工程的正常工作状态和版本更新。

二、系统开发的准备

(一)选取开发语言

主流的开发语言有很多,比如C/C++,Java,Python。
本系统采用:Python

(二)开发工具

常用的Python开发工具为Python3.8,Pycharm,Anaconda。
本系统采用:Pycharm

(三)Pycharm的下载及安装相应的工具

  1. 下载
    下载网址:https://www.jetbrains.com/pycharm/download/#section=windows
  2. 创建虚拟环境和下载第三方库的方法
    ①打开Pycharm,点击Configure会出现很多选项,选择Setting
    在这里插入图片描述
    ②接下来点击设置的标志,会出现两个选项,选择Add选项
    在这里插入图片描述
    ③选择建立新的虚拟环境的位置,也可以不重新选择,然后再路径后面输入一个新的文件的名称
    在这里插入图片描述
    ④接下来打开刚建立的虚拟环境,打开的最开始只有pip和setuptool两个第三方库
    在这里插入图片描述
    ⑤打开添加第三方库的界面,点击+标志进入
    在这里插入图片描述
    ⑥首先输入需要添加的第三方库的名称,搜索完成后,点击Install Package,安装过程时间可能会比较长
    在这里插入图片描述
    注:安装可能不成功,不成功的原因大多数是由于网络的问题。遇到这种情况的时候,多进行几次安装,如果还是安装不成功,可以修改安装源。若还是安装不成功,可以重新安装Pycharm进行解决。(笔者我多次安装不成功,修改安装源仍旧安装不成功,我重新安装Pycharm,就可以安装成功了。我不确定这个是否能够解决你的问题,但我只是分享自己的一些经历)
  3. 需要的第三方库
    ①opencv-python
    opencv是一个基于BSD许可发行的跨平台计算机视觉库。
    ②pysqlite3
    pysqlite3是python自带的数据库。
    ③pyqt5
    pyqt5是一套绑定Qt5的应用程序框架。

三、系统开发

分析:
该系统是一个带界面的应用程序,进行人脸签到并能够记录签到的信息。要有界面就需要工具进行界面开发,选择采用pyqt5designer进行界面设计。
(一)签到界面的设计
1.pyqt5designer的使用方法
①在Pycharm建立好的项目工程中,点击界面下面的terminal,在输入命令的界面中,输入pyqt5designer.exe,然后回车,就会出现qtdesigner的界面
在这里插入图片描述
②还可以在该项目的解释器的目录中找到script,打开该目录后,找到pyqt5designer.exe,点击运行它也可以打开。
2. 界面的设计
①创建一个窗体
窗体的类型有很多中类型,这里我们选择MainWindow类型
在这里插入图片描述
②窗口设计
菜单栏的设计
在这里插入图片描述
主体设计
在这里插入图片描述
③运行窗口
由于pycharm无法直接运行ui文件,需要进行文件的转换

ui转换为py文件:pyuic5 ui文件 -o py文件
例:pyuic5 MainWindow1.ui -o MainWindow1.py

通过生成的py文件,发现生成的窗口类并没有继承基础窗口类,缺少基础部件
解决方法:建立一个新的窗口类,让其成为一个完整的窗口类
新建立窗口类代码:

from MainWindow1 import Ui_MainWindow
#导入窗口的基础类
from PyQt5.QtWidgets import QMainWindow,QApplication
import sys
'''
子类,继承Ui_MainWindow与QMainWindow
Ui_MainWindow:
    包含是界面的设计,窗口中的窗口部件
QMainWindow:
    包含是整个界面窗口,窗口的操作
mywindow:
    完整的窗口类
'''
class mywindow(Ui_MainWindow,QMainWindow):
    #初始化函数
    def __init__(self,parent=None):
        super(mywindow,self).__init__()
        self.setupUi(self)#创建界面内容

#创建应用程序对象
app=QApplication(sys.argv)
#创建窗口
ui=mywindow()
#显示窗口
ui.show()
#应用执行
app.exec_()
#退出
sys.exit(0)

效果显示:
在这里插入图片描述

四、小结

通过第一天的学习,了解到一个软件工程需要经历三个阶段。掌握到该如何新建一个虚拟环境,如何利用qtdesigner进行简单的界面设计,如何将ui文件转换成py文件等。总的来说,收获满满。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值