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

人脸特征68点识别 C++

1、加载一张图片
main函数:

	cv::Mat img = cv::imread("5.jpg");vector<Point2f> points_vec = dectectFace68(img);

请添加图片描述

2、人脸68特征识别函数

在这里vector<Point2f> dectectFace68(Mat src)
{vector<Point2f> points_vec;int* pResults = NULL;//在检测函数中使用了pBuffer。  //如果你调用多个线程中的函数,请为每个线程创建一个缓冲区!  unsigned char* pBuffer = (unsigned char*)malloc(DETECT_BUFFER_SIZE);if (!pBuffer){fprintf(stderr, "Can not alloc buffer.\n");//return 100;}Mat gray;cvtColor(src, gray, CV_BGR2GRAY);int doLandmark = 1;// do landmark detection  pResults = facedetect_multiview_reinforce(pBuffer, (unsigned char*)(gray.ptr(0)), gray.cols, gray.rows, (int)gray.step,1.2f, 2, 48, 0, doLandmark);int cxa = *pResults;ofstream file("facedata.txt", ios::out);//打印检测结果 if (0 == cxa){}else{for (int i = 0; i < (pResults ? *pResults : 0); i++){short* p = ((short*)(pResults + 1)) + 142 * i;//rectangle(src, Rect(p[0], p[1], p[2], p[3]), Scalar(0, 255, 0), 2);if (doLandmark){for (int j = 0; j < 68; j++){char c[8];_itoa(j, c, 10);Point2f ff(p[6 + 2 * j], p[6 + 2 * j + 1]);points_vec.push_back(ff);file << ff.x << "\t" << ff.y << endl;/*	circle(src, Point((int)p[6 + 2 * j], (int)p[6 + 2 * j + 1]), 3, Scalar(0, 0, 255), 3);CvPoint font;putText(src, c, Point((int)p[6 + 2 * j], (int)p[6 + 2 * j + 1]), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(255, 23, 0), 1);*/}}}}return points_vec;
}插入代码片

3、结果
请添加图片描述

相关文章:

人脸特征68点识别 C++

1、加载一张图片 main函数&#xff1a; cv::Mat img cv::imread("5.jpg");vector<Point2f> points_vec dectectFace68(img);2、人脸68特征识别函数 在这里vector<Point2f> dectectFace68(Mat src) {vector<Point2f> points_vec;int* pResults …...

部署LVS-DR 群集

1 LVS-DR 集群 LVS-DR &#xff08;Linux Virtual Server Director Server ) 工作模式&#xff0c; 是生产环境中最常用的一种工作模式 1.1&#xff1a;LVS-DR工作原理 LVS-DR 模式&#xff0c; Director Server 作为群集的访问入口&#xff0c; 不作为网关使用&#xff0c;…...

nginx的正向代理和反向代理

概念 正向代理以及缓存配置 代理&#xff1a;客户端不再是直接访问服务端&#xff0c;通过代理服务器访问服务端。 正向代理&#xff1a;面向客户端&#xff0c;我们通过代理服务器的ip地址访问目标服务器。 服务端只知道代理服务器的地址&#xff0c;真正的客户端ip可以隐…...

米国政府呼吁抛弃 C 和 C++

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 很多观点认为C 或 C永远不可被…...

failed to lazily initialize a collection of role,解决Hibernate查询报错

Hibernate报错&#xff1a; org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.jiuqi.gov.common.attatchment.entity.AttachmentEntity.properties, could not initialize proxy - no Session at org.hibernate.co…...

Promethuse-监控 Etcd

一、思路 Prometheus监控Etcd集群&#xff0c;是没有对应的exporter&#xff0c;而 由CoreOS公司开发的Operator&#xff0c;用来扩展 Kubernetes API&#xff0c;特定的应用程序控制器&#xff0c;它用来创建、配置和管理复杂的有状态应用&#xff0c;如数据库、缓存和监控系…...

linux桌面运维---第四天

1、hostnamectl命令&#xff1a; 作用&#xff1a;永久设置主机名 ​语法&#xff1a;hostnamectl [actions][name strings] ​动作&#xff1a; status 显示当前主机名设置【掌握】 set-hostname NAME 设置系统主机名【掌握】 set-icon-name NAME 为主…...

视频网关的作用

在数字化时代&#xff0c;视频通信已经成为了人们日常生活和工作中的重要部分。为了满足不同设备和平台之间的视频通信需求&#xff0c;各种视频协议应运而生。然而&#xff0c;这些协议之间的差异使得相互通信变得复杂。因此&#xff0c;视频网关作为一种重要的网络设备&#…...

css+js实现导航栏色块跟随滑动+点击后增加样式

这篇文章&#xff0c;我给大家分享一个导航菜单的效果。用cssJS实现&#xff0c;效果如图&#xff1a; 本例实现效果&#xff1a;当鼠标移动到其他菜单项时&#xff0c;会有个背景色块跟随鼠标横向平滑移动。当鼠标点击后&#xff0c;被点击的菜单名称文字字体会加粗。 现在&…...

AudioLM音频生成模型:技术革新与应用前景

引言 AudioLM作为一种革命性的音频生成模型&#xff0c;结合了深度学习和自然语言处理的先进技术&#xff0c;能够生成高质量、逼真的音频内容。本文旨在深入探讨AudioLM的技术原理、工作机制、应用场景以及其对音频生成领域的深远影响。 AudioLM技术原理 AudioLM音频生成模…...

数据结构教材关于C/C++的研究

变量 指针 引用 变量 普通变量表示一个内存空间&#xff0c;直接printf是内存空间里的值 结构体 定义一个结构体类型变量为什么必须用指针&#xff1f; 因此无法确定结构体需要多少空间&#xff0c;改用指针可以解决这个问题&#xff0c;因为指针的大小是固定的 指针 指…...

【刷题笔记(编程题)05】另类加法、走方格的方案数、井字棋、密码强度等级

1. 另类加法 给定两个int A和B。编写一个函数返回AB的值&#xff0c;但不得使用或其他算数运算符。 测试样例&#xff1a; 1,2 返回&#xff1a;3 示例 1 输入 输出 思路1: 二进制0101和1101的相加 0 1 0 1 1 1 0 1 其实就是 不带进位的结果1000 和进位产生的1010相加 无进位加…...

如何检查购买的Facebook账号优劣?

Facebook 是全球最受欢迎的社交网络之一,为品牌广告提供了巨大的潜力。许多公司和营销人员使用 Facebook 来推广他们的产品和服务&#xff0c;经常会购买账号。当然也分出了很多账号&#xff0c;比如个人号&#xff0c;BM号&#xff0c;广告号&#xff0c;小黑号等等。 但是,有…...

2.2.1 ROS2案例以及案例分析

1.案例需求 需求1&#xff1a;编写话题通信实现&#xff0c;发布方以某个频率发布一段文本&#xff0c;订阅方订阅消息&#xff0c;并输出在终端。 需求2&#xff1a;编写话题通信实现&#xff0c;发布方以某个频率发布自定义接口消息&#xff0c;订阅方订阅消息&#xff0c;并…...

使用 Python 访问 Windows 剪贴板

目录&#xff1a; 使用 Pyperclip 模块使用 clipboard 模块使用 tkinter 模块使用 win32clipboard 模块 使用 Python 将文本复制到剪贴板或从剪贴板读取文本是一项有用的功能&#xff0c;可以提高代码的效率&#xff0c;使不同应用程序之间的数据传输无缝衔接。 使用 Pyperclip…...

手机空号过滤的多种应用场景

手机空号过滤的应用场景主要涵盖以下几个方面&#xff0c;以下是对其应用场景的清晰归纳和分点表示&#xff1a; 电话营销场景&#xff1a; 在电话营销中&#xff0c;使用空号过滤技术可以显著提高营销效率。通过筛选有效手机号码&#xff0c;避免拨打无效号码&#xff0c;每次…...

[Vue学习]生命周期及其各阶段举例

当我们运行vue项目&#xff0c;看到了屏幕上显示的界面&#xff0c;看到了界面上显示的数据和标签&#xff0c;之后将这个界面叉掉&#xff0c;这一过程其实经历了一整个vue的生命周期的四个阶段&#xff0c;即创建阶段、挂载阶段、更新阶段以及销毁阶段, 而对于每个阶段的启动…...

YOLOv5改进 | 损失函数 | EIoU、SIoU、WIoU、DIoU、FocuSIoU等多种损失函数

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a; 《YOLOv5入门 …...

[leetcode]minimum-absolute-difference-in-bst 二叉搜索树的最小绝对差

. - 力扣&#xff08;LeetCode&#xff09; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(null…...

[ALSA]从零开始,使用ALSA驱动播放一个音频

前言 最近学了不少有关音频相关的&#xff0c;最近搞一下ALSA驱动 安装 参考Linux应用开发【第八章】ALSA应用开发 中提到的ALSA库及工具章节&#xff0c;本文中有比较详细的有关ALSA驱动引用程序怎么安装的&#xff0c;这里不再赘述。 关于ALSA&#xff0c;就当成一个音频…...

DeepSeek RAG系统渗透测试全链路复现(含PoC代码与防御加固清单)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek RAG系统渗透测试全链路复现概览 DeepSeek RAG系统作为面向企业级知识检索增强生成的典型架构&#xff0c;其安全边界不仅涵盖LLM服务层&#xff0c;更延伸至向量数据库、检索代理、提示工程网关及外部…...

告别虚拟机卡顿:在Windows 11的WSL2里搞定Lichee Nano交叉编译环境

告别虚拟机卡顿&#xff1a;在Windows 11的WSL2里搞定Lichee Nano交叉编译环境 对于嵌入式开发者来说&#xff0c;配置开发环境往往是个令人头疼的问题。传统虚拟机方案虽然能提供完整的Linux体验&#xff0c;但资源占用高、启动慢、与宿主系统交互不便等问题一直困扰着开发者。…...

ARM架构CONSTRAINED UNPREDICTABLE行为解析与应对

1. ARM架构中的CONSTRAINED UNPREDICTABLE行为解析在处理器架构设计中&#xff0c;UNPREDICTABLE行为通常指架构规范未明确定义的执行结果&#xff0c;可能导致不可预期的系统状态。ARM架构通过引入CONSTRAINED UNPREDICTABLE机制&#xff0c;将这类行为限制在特定范围内&#…...

sudo企业级应用【20260525】001篇

文章目录 一、总体设计思路 1️⃣ 设计原则 2️⃣ 日志策略(重点) 二、10 个真实生产场景(含 sudoers 配置) 🔹 Linux 系统管理(3 个) ✅ 场景 1:基础运维(用户 / 权限) ✅ 场景 2:磁盘与文件系统 ✅ 场景 3:网络与防火墙 🔹 云管理(2 个) ✅ 场景 4:云 CLI …...

PCB虚焊/走线断裂/焊盘脱落工程师易漏判

PCB 故障中&#xff0c;30% 并非元件损坏&#xff0c;而是 PCB 本身的隐性故障—— 虚焊、走线断裂、焊盘脱落、过孔开路。这类故障外观隐蔽、时好时坏、排查难度大&#xff0c;很多工程师反复更换元件仍无法解决&#xff0c;最终误判为 “板报废”。​一、PCB 隐性故障核心成因…...

2027考研全套资料免费分享

备战27考研最全备考资料整理完毕&#xff0c;一路走来深知备考搜集资料耗费大量时间&#xff0c;浪费不少精力。特意整理2027考研全科完整版资源&#xff0c;全部打包汇总&#xff0c;零基础考生直接拿来就能使用&#xff0c;省去四处搜集资料的烦恼。资料内含&#xff1a;&…...

账务台账数据

银行里说的 “账务台账数据”&#xff0c;本质就是按会计规则把每笔业务逐笔、分户、分科目记下来的完整明细流水 余额 辅助信息&#xff0c;核心是 “可逐笔追溯、可对账、可审计” 的一套明细数据。下面用通俗、具体的方式拆开说&#xff1a;一、银行 “账务台账” 到底是什…...

告别SVN恐惧症:美术策划也能轻松上手的Unity PlasticSCM极简入门(附团队项目拉取实战)

告别SVN恐惧症&#xff1a;美术策划也能轻松上手的Unity PlasticSCM极简入门&#xff08;附团队项目拉取实战&#xff09; 在游戏开发团队中&#xff0c;版本控制系统是协作的基石&#xff0c;但传统工具如SVN往往让非技术成员望而生畏。当美术资源频繁更新、策划案不断迭代时&…...

从安装到排错:手把手解决Linux服务器上Nacos启动失败的十大常见问题

从安装到排错&#xff1a;手把手解决Linux服务器上Nacos启动失败的十大常见问题当你在Linux服务器上部署Nacos时&#xff0c;是否遇到过启动失败却无从下手的困境&#xff1f;作为阿里巴巴开源的服务发现和配置管理平台&#xff0c;Nacos在微服务架构中扮演着重要角色。然而&am…...

styled-theming 性能优化:如何避免主题切换时的性能瓶颈

styled-theming 性能优化&#xff1a;如何避免主题切换时的性能瓶颈 【免费下载链接】styled-theming Create themes for your app using styled-components 项目地址: https://gitcode.com/gh_mirrors/st/styled-theming styled-theming 是一个专为 styled-components …...