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

【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繁琐的配置,打开

一、简介

人脸识别1.0版本:

【QT】基于人脸识别的打卡系统(QT+Opencv + SQLite)–设计过程_Jason~shen的博客-CSDN博客_qt人脸识别目录使用平台设计目标功能描述设计方案数据库设计使用说明使用平台【qt+opencv】实现人脸识别打卡系统2.0https://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、打卡界面:相机读取、人脸检测与识别、打卡、时间显示、通告栏、统计信息、识别结果

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

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

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

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

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

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

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

今天的文章【qt+opencv】实现人脸识别打卡系统2.0分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32957.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注