完整教程:人脸识别4-Windows下基于MSVC编译SeetaFace6

news/2025/11/23 22:36:58/文章来源:https://www.cnblogs.com/yangykaifa/p/19261732

人脸识别4-Windows下基于MSVC编译SeetaFace6

    • 0、环境说明
    • 1、下载SeetaFace6
    • 2 基于MSVC编译SeetaFace6
      • 2.0 编译顺序说明
      • 2.1 编译OpenRoleZoo
        • 2.1.1 pot.h代码补丁
        • 2.1.2 编制build.win.vc17.x64.cmd
        • 2.1.3 编制build.win.vc17.x64.debug.cmd
        • 2.1.4 编制build.win.vc17.all.cmd
        • 2.1.5 编译过程
      • 2.2 编译SeetaAuthorize
        • 2.2.1 编制build.win.vc17.x64.cmd
        • 2.2.2 编制build.win.vc17.x64.debug.cmd
        • 2.2.3 编制build.win.vc17.all.cmd
        • 2.2.4 编译过程
      • 2.3 编译TenniS
        • 2.3.1 编制build.win.vc17.x64.cmd
        • 2.3.2 编制build.win.vc17.x64.debug.cmd
        • 2.3.3 编制build.win.vc17.x64_gpu.cmd
        • 2.3.4 编制build.win.vc17.all.cmd
      • 2.4 编译FaceAntiSpoofingX6
        • 2.4.1 编制build.win.vc17.x64.cmd
        • 2.4.2 编制build.win.vc17.x64.debug.cmd
        • 2.4.3 编制build.win.vc17.all.cmd
        • 2.4.4 编译过程
      • 2.5 编译FaceBoxes
      • 2.6 编译FaceRecognizer6
      • 2.7 编译FaceTracker6
      • 2.8 编译Landmarker
      • 2.9 编译PoseEstimator6
      • 2.10 编译QualityAssessor3
        • 2.10.1 QualityOfPose.cpp代码补丁
        • 2.10.2 编译过程
      • 2.11 编译SeetaAgePredictor
      • 2.12 编译SeetaEyeStateDetector
      • 2.13 编译SeetaGenderPredictor
      • 2.14 编译SeetaMaskDetector
    • 3 在Qt项目中使用SeetaFace6
      • 3.1 准备工作
      • 3.2 在Qt项目的pro文件中进行引用opencv和SeetaFace6

0、环境说明

环境项版本
cmake3.30.5
Visual Studio2022
cmake产生器Visual Studio 17 2022

1、下载SeetaFace6

SeetaFace6官网:

把下载的index-master.zip解压到D:\QtDepLibrary\SeetaFace\SeetaFace6目录下,这个目录可以根据自己的实际设定。如下图:
在这里插入图片描述
下载https://github.com/SeetaFace6Open下的各模块源码,解压至D:\QtDepLibrary\SeetaFace\SeetaFace6\index-master目录下,覆盖各模块文件夹。
在这里插入图片描述

2 基于MSVC编译SeetaFace6

2.0 编译顺序说明

上述三个模块为基础模块,各个 SDK 的编译均依赖上述模块,因此需要优先编译出 OpenRoleZoo, SeetaAuthorize 和 TenniS,然后再进行其他 SDK 模块的编译。具体需进入每个目录的craft下选择对应的脚本进行执行。

2.1 编译OpenRoleZoo

2.1.1 pot.h代码补丁

解决以下问题

修改SeetaFace6\index-master\OpenRoleZoo\include\orz\mem\pot.h,增加以下代码:

#include <functional>  // 必须添加,用于 std::function

增加后的完整代码

//
// Created by Lby on 2017/8/12.
//
#ifndef ORZ_MEM_POT_H
#define ORZ_MEM_POT_H
#include <functional>  // 必须添加,用于 std::function#include <mutex>#include <memory>namespace orz {class Pot {public:using allocator = std::function<std::shared_ptr<void>(size_t)>;Pot();Pot(const allocator &ator);void *malloc(size_t _size);void *relloc(size_t _size);template<typename T>T *calloc(size_t _count, bool copy = false) {if (copy)return reinterpret_cast<T *>(this->relloc(sizeof(T) * _count));elsereturn reinterpret_cast<T *>(this->malloc(sizeof(T) * _count));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/974304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1483D-Useful Edges

CF1483D-Useful Edges 题目大意 有一个 \(n\) 个结点的无向加权图,以及 \(q\) 个三元组,\((u,v,l)\) ,其中 \(u\) , \(v\) 是顶点,\(l\) 是正整数。 如果存在至少一个三元组和一个具有以下特性的路径(不一定简单…

Paddle-CLS图像分类_环境安装

Paddle-CLS图像分类_环境安装 paddle-cls 图像分类的组件,依赖于`paddle`环境,因此需要先安装`paddle`的环境,而`paddle-cls`对paddle的版本依赖度较高,容易出错,因此建议第一次安装遵循本安装文档,后续再进行其…

2025年11月短视频运营公司最新TOP5推荐:业绩增长与效率筛选标准

随着短视频成为企业数字化营销的核心阵地,市场对专业运营服务商的需求持续攀升。本榜单基于技术创新力、行业适配性、服务效能三大核心维度,结合企业实战案例与客户续约率等关键指标,深度解析2025年云南及西南地区五…

实用指南:【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025-09-10-Wed-T-Kubernetes

1. 介绍说明 1.1 基础设施的变革单机场景单机(操作系统+app)--> 虚拟化(VM+OS+APP) --> 容器化(Container + APP)集群场景 IAAS集群场景 PAASKubernetes优势服务发现和负载均衡 存储编排(添加任何本地或云服…

一文入门 Dify平台的插件开发

一文入门 Dify平台的插件开发 欢迎开始 Dify 插件开发 - https://docs.dify.ai/plugin-dev-zh/0111-getting-started-dify-plugin Dify Plugin 开发速查表 - https://docs.dify.ai/plugin-dev-zh/0131-cheatsheet#环境…

20232326 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1. 实验内容 本实践目标是掌握metasploit的用法。 指导书参考Rapid7官网的指导教程。 https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/ 下载官方靶机Metasploitable2,完成下面实验内容。…

2025年11月小程序开发公司TOP5评测:功能落地与适配筛选标准,西南地区企业选择指南

随着数字化转型加速,小程序已成为企业连接用户、提升运营效率的核心载体。本榜单基于技术实现能力、行业适配深度、服务交付效能三大维度,结合企业服务平台公开数据及客户案例反馈,权威解析2025年西南地区五大小程序…

2025年11月云南数字人供应商最新TOP5推荐:精细建模优质选择

在数字经济加速渗透的当下,数字人技术正从概念走向规模化应用,成为企业降本增效、创新服务模式的核心工具。据艾瑞咨询《2025年中国数字人行业研究报告》显示,2024年中国数字人市场规模突破600亿元,企业级服务需求…

第二讲下梯度下降算法

梯度下降算法 梯度下降有时会使loss不降反而上升原因是: 核心结论是:loss 上升主要源于学习率过高、数据 / 特征问题或模型设置不当,导致优化偏离最优方向。 关键原因学习率过大:步长超过最优解范围,每次更新都跳…

Java云计算技术怎样应对故障

Java云计算技术通过一系列的策略和工具来应对故障,确保系统的稳定性和可用性。以下是一些关键的策略和工具: 故障排查策略CPU问题排查:使用jstack工具分析堆栈情况,定位CPU异常的原因,如死循环或频繁的垃圾回收(…

2025-08-02-Sat-T-RabbitMQ

基础篇1. 初识MQ 1.1 同步调用 同步调用是一种线性执行模式。当你调用一个函数后,程序会暂停在当前位置,直到这个函数执行完毕并返回结果后,才会继续执行下一行代码。这就像你在餐厅点餐后,站在柜台前一直等到厨师…

Nand2Tetris 笔记

布尔函数ALU内存机器语言计算机体系结构

审美积累暗色UI设计超越美学的用户体验

审美积累暗色UI设计超越美学的用户体验研究了上百个暗色设计,才发现顶尖的“黑”从不单调。它可以是深邃的科技感,也可以是温暖的陪伴感。分享5个超赞的暗黑系UI设计范本,一起来积累高级审美! 1. 克制用色,信息层…

具有超高峰值抑制比和低功耗的全光可调谐微波滤波器

该研究提出了一种基于4个级联的光机械微环谐振器(MRR)实现高抑制比、大中心频率和带宽调谐范围的微波光子滤波器(MPF)。当每两个MRR的谐振波长调谐到对齐时,硅器件的透射谱为具有高消光比的陷波双峰分布。光载波被固定…

11.23

1. page:最核心指令,定义页面编码、语言、导入包等示例:解决中文乱码+指定Java语言+导入工具类 jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="…

实用指南:F-INR: Functional Tensor Decomposition for Implicit Neural Representations

实用指南:F-INR: Functional Tensor Decomposition for Implicit Neural Representationspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importa…

实验3 类和对象_基础编程 - yuyue

TASK1 button.hpp #pragma once#include <iostream> #include <string>class Button { public:Button(const std::string &label_);const std::string& get_label() const;void click();private:s…

11/23/2025 一周总结

11/18/2025 模拟赛 T1 做太久了,方向是对的,但是一直没想清楚。做题的时候一定要想清楚,不然可能浪费很多时间。 T2 方向是对的,但是没想到怎么优化。优化需要观察性质,说明这种观察性质的能力还不够,以后还要继…

Java云计算技术如何确保稳定

Java云计算技术确保稳定的关键在于通过一系列安全措施、容错机制、高可用性设计以及性能优化来实现。以下是具体的介绍: 安全措施安全通信协议:使用HTTPS和TLS/SSL等安全协议保护数据传输。 身份验证和授权:利用JWT…