QT----基于QT的人脸考勤系统(未完成)

目录

  • [1 编译opencv库](#1 编译opencv库)
    • [1.1 下载源代码](#1.1 下载源代码)
    • [1.2 qt编译opencv](#1.2 qt编译opencv)
    • [1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat](#1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat)
  • [2 编译SeetaFace2代码](#2 编译SeetaFace2代码)
    • [2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has](#2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has)
    • [2.2遇到报错Model missing](#2.2遇到报错Model missing)
  • [3 测试两个环境能否使用](#3 测试两个环境能否使用)
    • [3.1 配置环境变量](#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。这样在引入头文件就不会报错

cpp 复制代码
#添加头文件
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*
cpp 复制代码
#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客户端设计

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

相关推荐
第九序言T34 分钟前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川2 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人2 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1003 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真3 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy14 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫124 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切5 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Wang's Blog6 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友
中科三方6 小时前
IPv6检测常见问题:AAAA记录检测不通过是什么原因?
开发语言·php