qt+opencv实现人脸识别打卡系统2.0

Posted Jason~shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt+opencv实现人脸识别打卡系统2.0相关的知识,希望对你有一定的参考价值。

一、简介

人脸识别1.0版本:

【QT】基于人脸识别的打卡系统(QT+Opencv + SQLite)--设计过程_Jason~shen的博客-CSDN博客_qt人脸识别目录使用平台设计目标功能描述设计方案数据库设计使用说明使用平台https://blog.csdn.net/qq_40602000/article/details/99674066?spm=1001.2014.3001.5502

人脸识别2.0版本:

在粉丝们的建议下在1.0的基础上做了一定的修改

1、减少了opencv繁琐的配置,打开工程即可编译运行(解决路径配置不当编译不通过问题);

# opencv
OPENCVPATH=$$PWD/../../3rdparty/opencv64
OPENCV_LIB=$$OPENCVPATH/x64/mingw/lib
OPENCV_INC=$$OPENCVPATH/include

INCLUDEPATH +=$$OPENCV_INC
INCLUDEPATH +=$$OPENCV_INC/opencv
INCLUDEPATH +=$$OPENCV_INC/opencv2

LIBS += $$OPENCV_LIB/libopencv*

BINPATH=$$PWD/../../bin
LIBSPATH = $$PWD/../Libs

2、去除了使用python脚本生成训练使用的at.txt文件,改为c++编写(解决没有python环境的问题);

QStringList Util::getFileFolders(const QString &dirPath)

    QStringList folderList;
    QDir dir(dirPath);
    dir.setFilter(QDir::Dirs);
    foreach(QFileInfo fullDir, dir.entryInfoList())
    
        if(fullDir.fileName() == "." || fullDir.fileName() == "..") continue;
        folderList.append(fullDir.fileName());
    
    return folderList;


void Util::createAtLabel(const QString &facePath, const QString &atPath)

    qDebug() <<facePath;
    qDebug()<<atPath;
    deleteFileOrFolder(atPath);
    QFile file(atPath);
    file.open(QIODevice::ReadWrite | QIODevice::Text); 
    QStringList idList = getFileFolders(facePath);
    qDebug()<<idList;
    foreach (QString id, idList) 
        QString oneFacePath = facePath + "\\\\" + id;
        QStringList imageList = getImageFileNames(oneFacePath);
        foreach (QString name, imageList) 
            QString labelInfo = oneFacePath + "\\\\" + name  + ";"+id;
            file.write(labelInfo.toUtf8() + "\\n"); 
        
    
    file.close();

3、使用了qdarkstyle暗黑风格样式(解决界面不美观问题);

4、功能包括人脸检测、人脸识别、人脸录入、打卡记录、发布通知等(功能上没有太大变化,解决了一些bug)。

二、演示效果

qt+opencv人脸识别演示

1、打卡界面:相机读取、人脸检测与识别、打卡、时间显示、通告栏、统计信息、识别结果

2、人脸录入界面:基本信息的录入、人脸的录入、模型的训练

 3、打卡记录界面:按条件查询、清空记录、导出记录

4、设置界面:打卡时间段设置、通告栏设置

以上是关于qt+opencv实现人脸识别打卡系统2.0的主要内容,如果未能解决你的问题,请参考以下文章

Python OpenCV开发MR智能人脸识别打卡系统(四服务模块设计)

Python OpenCV开发MR智能人脸识别打卡系统(三工具模块设计)

Python OpenCV开发MR智能人脸识别打卡系统(五程序入口设计与测试)

基于QT和OpenCV的人脸检测识别系统

基于C++QT设计的人脸考勤打卡签到系统

基于QT和OpenCV的人脸识别系统