【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、设置界面:打卡时间段设置、通告栏设置


原文连接:https://blog.csdn.net/qq_40602000/article/details/124416892

相关推荐

OpenCV视频防抖技术解析

基于OpenCV实现对图片及视频中感兴趣区域颜色识别

【毕业设计】深度学习 opencv python 实现中国交通标志识别

【OpenCV】图像拼接 原理介绍 C++ OpenCV 案例实现

Java + Selenium + OpenCV解决自动化测试中的滑块验证

计算机视觉结合深度学习项目-智能停车场空车位实时识别

改变conda虚拟环境的默认路径

代码生成OCR训练集,老板:没有数据?你new一个

【OpenCV】广告屏换图 文稿矫正 透视变换 C++ 案例实现

【OpenCV】车辆识别 目标检测 级联分类器 C++ 案例实现

Python图像处理丨图像腐蚀与图像膨胀

计算机视觉项目实战-图像特征检测harris、sift、特征匹配

【OpenCV】车辆识别 C++ OpenCV 原理介绍 + 案例实现

【OpenCV】Qt + OpenCV 开发配置 + 入门知识(代码示例)

Opencv中常用类的介绍

计算机视觉项目-文档扫描OCR识别

【Linux学习】OpenCV+ROS 实现人脸识别(Ubantu16.04)

Linux系统下使用opencv训练自己的xml分类器并进行车辆识别

计算机视觉项目-银行卡卡号自动识别

YOLO系列目标检测数据集大全