以下为《人脸识别系统说明》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
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字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《人脸识别系统说明》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。