当前位置: 首页 > article >正文

QT----基于QT的人脸考勤系统

目录

  • 1 编译opencv库
    • 1.1 下载源代码
    • 1.2 qt编译opencv
    • 1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat
  • 2 编译SeetaFace2代码
    • 2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
    • 2.2遇到报错Model missing
  • 3 测试两个环境能否使用
    • 3.1 配置环境变量
  • 4客户端设计

更多内容可以点击这里查看个人博客: 个人博客

1 编译opencv库

1.1 下载源代码

源代码下载地址:https://github.com/opencv/opencv

第三方库下载地址:https://github.com/opencv/opencv_contrib

cmake下载地址:https://cmake.org/download/

都下载4.5.2版本的,把两个zip都解压,windows的第一个库是直接exe解压的

1.2 qt编译opencv

使用qt打开项目,源代码opencv/sources/CMakeLIsts.txt

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用MinGW64构建项目,稍等一会,等qt吧资源都加载完

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击项目,搜索ms取消这两个安装项目,将第三方库的人脸识别模块加入,注意debug为release版本,所有操作都是在release版本上执行的,图片还没更改

在这里插入图片描述

修改安装路径

在这里插入图片描述

修改下边构建步骤里边 为all,全部安装,最后执行Cmake

在这里插入图片描述

1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat

发现一直卡着,这个face_landmark_model.dat下载不下来

在这里插入图片描述

采取手动下载的方式

https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat

放到opencv的路径下,并且把没下载完的文件的前缀也加上,替换,再次执行Cmake成功

在这里插入图片描述

完毕后回到编辑点击启动,更改构建模式为release,运行

在这里插入图片描述

2 编译SeetaFace2代码

2.1 遇到报错By not providing “FindOpenCV.cmake” in CMAKE_MODULE_PATH this project has

下载代码:https://github.com/seetafaceengine/SeetaFace2

依旧是打开CmakeList文件,release模式,遇到报错

在这里插入图片描述

打开CmakeList文件添加上这一句,加上你刚刚安装的opcv的路径,注意斜杠的位置

`set(OpenCV_DIR E:/Environment/opencv452)`

在这里插入图片描述

修改安装路径,opencv路径等等,更上边类似,执行cmake,执行

在这里插入图片描述

2.2遇到报错Model missing

执行后遇到报错模型丢失

在这里插入图片描述

下载模型,把四个模型都下载了,放入生成release的文件夹

https://github.com/seetafaceengine/SeetaFace2?tab=readme-ov-file

在这里插入图片描述
在这里插入图片描述

再次报错,没有图片,找张人脸图片放入

在这里插入图片描述在这里插入图片描述

3 测试两个环境能否使用

3.1 配置环境变量

找到系统环境变量PATH,添加两个库的bin文件夹

在这里插入图片描述

新建一个qt项目,在配置文件pro里添加上两个库的路径,并且添加上lib。这样在引入头文件就不会报错

#添加头文件
INCLUDEPATH += E:\Environment\opencv452\include
INCLUDEPATH += E:\Environment\opencv452\include\opencv2
INCLUDEPATH += E:\Environment\SeetaFace2\include
INCLUDEPATH += E:\Environment\SeetaFace2\include\seeta

#添加库
LIBS += E:\Environment\opencv452\x64\mingw\lib\libopencv*
LIBS += E:\Environment\SeetaFace2\lib\libSeeta*

在这里插入图片描述

#include "mainwindow.h"

#include <QApplication>
#include <opencv.hpp>
#include <FaceDetector.h>

using namespace cv;
using namespace seeta::v2;



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    cv::namedWindow("fram");
    Mat mt = imread("E:/CPP_Study/QT/QTCode/opencvSeetaface/1.jpg");
    imshow("fram",mt);
    cv::waitKey(10);
    
    seeta::ModelSetting::Device device = seeta::ModelSetting::CPU ;
    int id = 0;
    seeta::ModelSetting FD_model("E:/Environment/SeetaFace2/bin/model/fd_2_00.dat",device ,id);
    seeta::FaceDetector FD(FD_model);
    
    
    return a.exec();
}

4客户端设计

接下来的文章参考我的个人博客纯真丁一郎


http://www.kler.cn/a/271977.html

相关文章:

  • 计算机网络之网络层
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
  • Android SystemUI——通知栏构建流程(十六)
  • 【LeetCode 刷题】栈与队列-队列的应用
  • 深度学习笔记——循环神经网络RNN
  • 2D 超声心动图视频到 3D 心脏形状重建的临床应用| 文献速递-医学影像人工智能进展
  • ROS 语音交互(二)nlp
  • 贡献法:USACO 2021 December Contest Bronze:孤独的照片
  • reloading,一个很实用的Python库!
  • 2024年视频制作软件哪个好用?盘点10个视频剪辑软件,哪个更适合你
  • Flink程序员开发利器本地化WebUI生成
  • 机器人路径规划:基于改进型A*算法的机器人路径规划(提供Python代码)
  • 【Jetson Nano】jetson nano一些基本功能命令
  • 某赛通电子文档安全管理系统 DecryptApplication 任意文件读取漏洞(2024年3月发布)
  • PHP魔术方法详解
  • 【软考高项】七、信息技术发展之存储、数据库、信息安全
  • Vue-router3.0版本跳转报错
  • 【MySQL】ROW_NUMBER 窗口函数妙用之报告系统状态的连续日期
  • Springboot 整合 Elasticsearch(五):使用RestHighLevelClient操作ES ②
  • ClickHouse中的设置的分类
  • 【LeetCode热题100】24. 两两交换链表中的节点(链表)
  • 树与二叉树(数据结构)
  • 前端学习之css伪元素选择器
  • sqlplus设置提示符
  • 【CenterFusion】模型的创建、导入、保存CenterFusion/src/lib/model/model.py
  • ApplicationListener 注册监听器来监听应用程序中发布的事件