使用python和pyqt5轻松上手人脸识别系统(含代码)
- 一、 环境配置
-
- 1.1 python环境配置
-
- 1.1.1 安装 anaconda
- 1.1.2 安装pycharm
- 1.1.3 配置pip源
- 1.2 mysql数据库安装
- 1.3 相关依赖安装
- 二、 人脸识别模块测试
-
- 2.1 使用opencv从摄像头中读取图片
-
- 2.1.1 opencv读取图片/摄像头的视频帧
- 2.1.2 opencv将图像保存为gif和视频
- 2.2 使用不同人脸识别算法进行检测和识别
-
- 2.2.1 模型加载
- 2.2.2 读取图片
- 2.2.3 人脸检测和关键点提取
- 2.2.4 描述子匹配
- 三、 基于sqlite3的数据库设计
-
- 3.1 简单定义数据库类
-
- 3.1.1 CardRecord 打卡信息表
- 3.1.2 Course 课程表
- 3.1.3 Relation 选课关系表
- 3.1.4 Student 学生表
- 3.2 封装常用的sql查询到数据库类成员函数中
- 四、 基于PyQt5的GUI设计
-
- 4.1 框架和文件夹结构设计
- 4.2 开始界面设计
- 4.3 验证界面设计
- 4.4 自定义的listwidget设计
- 4.4 主界面设计
- 4.5 如何有效组织不同的UI界面类
- 五、效果展示
-
- 5.1 检测和识别效果展示
- 5.2 数据库导出和查看
- 六、代码获取和下载
最近在做一个人脸识别考勤系统,已经总结和记录了大部分内容,算是比较完善啦!后续把剩下的搞完,感兴趣的同学可以关注一下哦~ 文末给出了代码获取方式,请自行获取食用~
一、 环境配置
这里我们使用的环境主要包括一下三个方面:
- 首先是开发所需要的等。这里我们主要需要安装的就是和,以及。需要注意的是,pycharm专业版是付费软件,如果你不想后续查看数据库的详细信息等,那么 区版也足够了,但专业版是可以通过学生作科研用途申请的。
- 本项目使用到了数据库,但我们最好也配置数据库,然后方便在pycharm专业版中查看数据库的表和信息。
- 最后是人脸识别和开发过程中依赖的python包,后面我们展示了几种使用python进行人脸识别的方法,除了,其他的基本都需要这个库,后面我会说具体所依赖的库,不过对于的情况,直接就也可以轻松解决。
1.1 python环境配置
这里我们只提供windows下python环境的配置方法,其实都大同小异。
1.1.1 安装 anaconda
anaconda是一个python的包管理软件,可以方便的管理你的和
-
首先去官 下载安装包
-
检查anaconda是否安装成功
打开cmd,输入,一般会有两种情况,下面这种就是安装好了的。
- 后面pip install
1.2 mysql数据库安装
mysql数据库很多时候会用到,所以最好是安装配置一下,下面给一个大致的安装教程
-
下载mysql数据库的安装包
-
配置环境变量,也就是mysql文件夹下的文件夹
- 相关使用
1.3 相关依赖安装
这里我们介绍一下本次项目所需要的依赖和环境吧。这里我们主要需要用到:首先,和是数据处理的基本库;其次,一些图像处理的python库,和;接着,gui的库,;最后人脸识别的库,, 和。基本上就是这些吧,如果有问题的话,大家根据 错再安装吧。下面给出一般配置步骤:
- 首先在你的项目路径下中使用命令创建虚拟环境,然后激活一下
- 在你的项目路径下创建一个文件名叫做,在里面填写如下信息,版本上似乎是没有什么大的问题的,按顺序装就可以了,装起来可能会有些慢如果嫌太慢的话,也可以最后单独使用去安装,但是需要先安装包,不然会出错的。
- 运行安装依赖
二、 人脸识别模块测试
作为人脸识别系统中最重要的模块,我们需要首先对人脸识别的功能进行测试,然后将其作为一个模块嵌入到我们的系统中即可。人脸识别功能按照流程主要分为两步,首先是读取图片(本地文件夹或者摄像头);其次是使用人脸识别算法(基于opencv的dnn或者其他深度学习框架的人脸识别模型)进行人脸检测和识别。下面分别就上述的两部分来分别说明。
2.1 使用opencv从摄像头中读取图片
从opencv中读取图片主要分为三种,下面分别给出三种方式的代码:
2.1.1 opencv读取图片/摄像头的视频帧
- 读取单张图片
- 读取文件夹中的图片
- 读取摄像头中的视频帧
2.1.2 opencv将图像保存为gif和视频
有的时候,我们甚至还需要展示,那么就需要一个视频流保存为视频文件、图片转gif或者图像转视频的需求,下面同样给出这几种操作的示例代码:
- 视频流保存视频文件参考
需要注意的是,尽量按照摄像头的编码来保存视频,否则可能会出问题。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!