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客户端设计
接下来的文章参考我的个人博客纯真丁一郎
相关文章:
QT----基于QT的人脸考勤系统(未完成)
目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…...
机试:成绩排名
问题描述: 代码示例: #include <bits/stdc.h> using namespace std;int main(){cout << "样例输入" << endl; int n;int m;cin >> n;int nums[n];for(int i 0; i < n; i){cin >> nums[i];}// 排序for(int i 0; i < n; i){//…...
C编程基础四十分笔记
都是一些基础的C语言 一 输入一个整数,计算这个整数有几位二 编写程序计算一个分布函数三 输入一个字符串,再随便输入一个字母,判断这个字母出现几次四 求 1到10的阶乘之和五 求一个球体体积六 写一个链表,存1,2&#…...
k8s关于pod
目录 1、POD 的创建流程 kubectl 发起创建 Pod 请求: API Server 接收请求并处理: 写入 Etcd 数据库: Kubelet 监听并创建 Pod: Pod 状态更新和汇报: 2、POD 的状态解析 1. Pending Pod 2. Running Pod 3. S…...
yum安装mysql 数据库tab自动补全
centos7上面没有mysql,它的数据库名字叫做mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#ss -na…...
MBT-Net
feature F,edge feature E-F where r related to the relative position 辅助信息 作者未提供代码...
大数据赋能,能源企业的智慧转型之路
在数字洪流中,大数据已经成为推动产业升级的新引擎。特别是在能源行业,大数据的应用正引领着一场深刻的智慧转型。今天,我们就来探讨大数据如何在能源企业中发挥其独特的魅力,助力企业提效降本,实现绿色发展。 动态监控…...
2024考研国家线公布,各科分数线有哪些变化?考研国家线哪些涨了,哪些跌了?可视化分析告诉你
结论在文章结尾 2024考研国家线 一、近五年国家线趋势图-学术硕士 文学 管理学 工学照顾专业 体育学 交叉学科 军事学 历史学 理学 享受少数名族照顾政策的考生 中医类照顾专业 教育类 艺术类 医学 工学 哲学 法学 农学 经济学 二、近五年国家线趋势图-专业硕士 中医 应用心理 …...
高效、安全的APP分发与推广平台
在信息化快速发展的今天,APP已经成为人们生活中不可或缺的一部分。然而,对于众多APP开发者来说,如何让自己的APP在众多竞争者中脱颖而出,被更多用户所认知和下载,成为了一个亟待解决的问题。这时,一个高效、…...
浅谈异或运算
异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b (a ∧ b) ∨ (a ∧b…...
Linux下platform总线
一. 简介 前面我们讲了设备驱动的分离,并且引出了总线 (bus) 、驱动 (driver) 和设备 (device) 模型,比如 I2C 、 SPI 、 USB 等总线。 但是,在 SOC 中有些外设是没有总线这个概念的,但是又要使用总 线、驱动和设备模型该怎么…...
C# EPPlus导出dataset----Excel2绘制图像
一、生成折线图方法 /// <summary> ///生成折线图 /// </summary> /// <param name="worksheet">sheet页数据 </param> /// <param name="colcount">总列数</param> /// &l…...
2024年云服务器ECS价格表出炉——阿里云
2024年阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元,ECS u1服务器2核4G5M固定带宽199元一年,2核4G4M带宽轻量服务器一年165元12个月,2核4G服务…...
Grafana
介绍 官网:https://grafana.com/ Grafana 是一个开源的指标分析和可视化工具,它被广泛用于展示和监控云基础设施和应用程序的实时数据。Grafana 提供了一个强大且易于使用的界面,允许用户创建各种图表、图形和仪表盘,以直观地展…...
InnoDB记录结构
InnoDB页简介 InnoDB是一个将表中的数据存储到磁盘上的存储引擎,所以即使关机后重启我们的数据还是存在的。而真正处理数据的过程是发生在内存中的,所以需要把磁盘中的数据加载到内存中,如果是处理写入或修改请求的话,还需要把内…...
【框架学习 | 第六篇】SpringBoot基础篇(快速入门、自动配置原理分析、配置文件、整合第三方技术、拦截器、文件上传/下载、访问静态资源)
文章目录 1.SpringBoot简介1.1原有Spring优缺点分析1.1.1Spring优点1.1.2Spring缺点 1.2SpringBoot概述1.2.1SpringBoot解决上述Spring的缺点1.2.2SpringBoot特点1.2.3SpringBoot核心功能 2.SpringBoot快速入门2.1代码实现2.1.1创建Maven工程2.1.2添加SpringBoot的起步依赖2.1.…...
使用 ReclaiMe Pro 恢复任意文件系统(Win/Linux/MacOS)
天津鸿萌科贸发展有限公司是 ReclaiMe Pro 数据恢复软件授权代理商。 ReclaiMe Pro 是一个通用工具包,几乎可以用于从所有文件系统(从 Windows 系列文件系统、Linux 和 MacOS)中恢复数据。此外,考虑到数据恢复工作的具体情况&…...
全视智慧机构养老解决方案,以科技守护长者安全
2024年2月28日凌晨1时许,在上海浦东大道的一家养护院四楼杂物间内发生了一起火灾事故。尽管火势不大,过火面积仅为2平方米,但这场小火却造成了1人死亡和3人受伤的悲剧。这一事件再次提醒我们,养老院作为老年人聚集的场所ÿ…...
NavicatPremium16破解激活
背景: 如题,本篇主要参考一个个人博客,里面提供百度网盘形式的下载链接,博主在个人尝试的过程中加了几点补充,便于更快安装! Navicat Premium 16 永久破解激活 - 酷酷的洛克 - 博客园 (cnblogs.com) 背景…...
thinkphp6.1~8.0 快速创建CRUD
GIT 源码 TINKPHP 快速创建模型CRUD源码 import os import tkinter as tk from tkinter import messagebox#转小写 def toLowerCase(str):""":type str: str:rtype: str"""return "".join(chr(ord(c) 32) if 65 < ord(c) < 90…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
goreplay
1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具,可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长,测试它所需的工作量也会呈指数级增长。GoRepl…...
Java中HashMap底层原理深度解析:从数据结构到红黑树优化
一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...
八、【ESP32开发全栈指南:UDP客户端】
1. 环境准备 安装ESP-IDF v4.4 (官方指南)确保Python 3.7 和Git已安装 2. 创建项目 idf.py create-project udp_client cd udp_client3. 完整优化代码 (main/main.c) #include <string.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h&…...
RabbitMQ work模型
Work 模型是 RabbitMQ 最基础的消息处理模式,核心思想是 多个消费者竞争消费同一个队列中的消息,适用于任务分发和负载均衡场景。同一个消息只会被一个消费者处理。 当一个消息队列绑定了多个消费者,每个消息消费的个数都是平摊的&a…...
