人脸识别系统说明

本文由用户“gaokf123”分享发布 更新时间:2022-12-21 14:34:07 举报文档

以下为《人脸识别系统说明》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

1.模块说明

本系统使用opencv+pyqt实现,其中opencv实现对图像的处理,而pyqt实现对界面的设计,界面对功能的调用通过信号与槽的机制进行实现。

可视化模块

整体界面设计如下所示,界面以简洁明了的设计原则触发,使得使用者能够直达使用目标。界面包括:一个label+6个button,其中label用来显示图像以及每一步算法处理之后的图像效果,6个按钮分别对应的每一个算法调用,具体如下所示

/

label:图像显示

btnOpen:打开按钮,用来打开图像并显示

btnSave:保存按钮,用来保存图像并显示

btnTrain:训练按钮,用来调用训练,注意:第一次必须要先进行训练才能进行人脸识别,之后才能进行识别,因为需要调用存在的人脸识别模型;

btnProcess:对当前文件夹进行人脸识别

btnProcess2:对图像进行灰度处理并进行显示,并且会在save文件夹中进行保存

算法模块

算法通过Haar级联分类器+LBPH算法进行人脸识别,其中 Haar级联算法实现了在四个主要阶段进行图像 训练:确定Haar-like特征、获得积分图像、AdaBoost 训练和使用级联分类器进行分类。 局部二进制编码直方某某(LBPH)[5],基于LBP[6] 改进的算法LBPH是将人脸分成很多小的区域,并且 在每个小区域内根据LBP值统计 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 为三步:

实现信号,有些是自带的信号,比较点击事件

实现槽函数

connect对信号和槽函数进行连接 核心代码如下:

# 使用系统自带的信号槽,实现对应的槽函数,并与之连接 self.btnOpen.clicked.connect(self.openSlot) self.btnSave.clicked.connect(self.saveSlot) self.btnProcess.clicked.connect(self.processSlot) self.btnQuit.clicked.connect(self.close) self.btnProcess2.clicked.connect(self.gray) self.btnTrain.clicked.connect(self.train) self.btnProcess.clicked.connect(self.scan_face)

3.运行过程中截图

打开图像

点击打开按钮出现的界面 / 加载图像并显示在label中 /

保存图像

点击保存图像按钮 / 显示保存图像的结果 /

训练图像

点击训练按钮并显示对应的训练结果 /

人脸识别

点击人脸识别按钮,并显示识别结果,用框进行显示 /

/

/

灰度化

灰度处理之前的图片: / 点击灰度按钮进行灰度化处理: /

退出

直接退出软件 /

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《人脸识别系统说明》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览