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

Linux48:rockx常用的API

rockx人脸检测使用的APIrockx框架提供了一系列的人脸识别、检测的API开发者使用它的API能够快速开发出人脸相关的功能。我们来看看在人脸检测中需要用到的API。1.1rockx_create函数的定义rockx_ret_t rockx_create(rockx_handle_t *handle, rockx_module_t m, void *config, size_t config_size);函数解释rockx_create创建rockx的句柄rockx_handle_t。rockx_handle_t也是管理整个rockx人脸检测、人脸识别的最重要结构体第一个参数rockx_handle_t的结构体指针第二个参数rockx_module_t的结构体rockx_module_t是一个枚举类型设置当前rockx的处理类型。具体的如下ROCKX_MODULE_FACE_DETECTION人脸检测模块ROCKX_MODULE_FACE_LANDMARK_68人脸68个特征点检测ROCKX_MODULE_FACE_RECOGNIZE人脸识别模块ROCKX_MODULE_FACE_ANALYZE人脸分析模块ROCKX_MODULE_OBJECT_DETECTION目标检测模块ROCKX_MODULE_POSE_BODY人体姿态检测模块14个关键点ROCKX_MODULE_POSE_FINGER_21手指检测模块21个关键点ROCKX_MODULE_FACE_LANDMARK_5人脸5个特征点检测ROCKX_MODULE_HEAD_DETECTION人体头部检测模块ROCKX_MODULE_CARPLATE_DETECTION车牌检测模块ROCKX_MODULE_CARPLATE_ALIGN车牌对齐模块ROCKX_MODULE_CARPLATE_RECOG车牌识别模块ROCKX_MODULE_OBJECT_TRACK物体追踪模块ROCKX_MODULE_POSE_FINGER_3手指检测模块 支持3个关键点ROCKX_MODULE_FACE_MASKS_DETECTION人脸口罩检测检测这个人是否戴口罩ROCKX_MODULE_FACE_DETECTION_V2人脸检测模块Version2版本ROCKX_MODULE_BODY_MASK人体身体遮挡检测主要是检测当前人体是否有遮挡物ROCKX_MODULE_POSE_BODY_V2人体姿态检测V2是Version2最多能够检测17个关键点ROCKX_MODULE_FACE_DETECTION_V3人脸检测模块V3是Version3它只能检测320 * 320的人脸ROCKX_MODULE_FACE_DETECTION_V3_LARGE人脸检测模块加强版V3是Version3Large能够检测640 * 640的人脸ROCKX_MODULE_PERSON_DETECTION行人检测模块主要是检测当前图像中是否有行人ROCKX_MODULE_FACE_LANDMARK_106人脸关键点检测模型总共能检测出106个关键点ROCKX_MODULE_FACE_BEAUTY人脸漂亮指数检测模型主要是检测人的漂亮指数是多少ROCKX_MODULE_FACE_SMILE_DETECT人脸微笑检测模型检测当前人是否微笑ROCKX_MODULE_FACE_MASK_CLASSIFIER人脸口罩分类检测模型主要是检测当前口罩的类型是什么ROCKX_MODULE_PERSON_DETECTION_V2行人检测模型V2是Version2它只能检测532 * 320的行人图像ROCKX_MODULE_PERSON_DETECTION_V3行人检测模型V3是Version3它可以检测多尺寸的行人图像第三个参数rockx_config_t结构体指针主要是配置rockx的基本参数它的创建是用rockx_add_config来创建第四个参数config_size默认是0就可以1.2rockx_add_config函数的定义rockx_ret_t rockx_add_config(rockx_config_t *config, const char *key, const char *value);函数解释添加rockx的config配置第一个参数rockx_config_t结构体指针rockx_config_t的创建是用rockx_create_config来分配如rockx_config_t *config rockx_create_config();第二个参数config的key, 最常见的KEY是ROCKX_CONFIG_DATA_PATH(ROCKX的配置路径)第三个参数config的value, 跟Key一一对应, 比方说Key是ROCKX_CONFIG_DATA_PATH,那它的value就是对应的rockx的具体路径如:/userdata/rockx_data/。示例rockx_config_t *config rockx_create_config();rockx_add_config(config, ROCKX_CONFIG_DATA_PATH, /userdata/rockx_data/);1.3rockx_face_detect函数的定义函数解释这个API主要是对人脸进行检测得到人脸检测的位置信息rockx_ret_t rockx_face_detect(rockx_handle_t handle, rockx_image_t *in_img, rockx_object_array_t *face_array, rockx_async_callback *callback);第一个参数rockx_handle_t的结构体第二个参数rockx_image_t的结构体指针这个是输入的图像需要检测的图像也可以是每一帧视频流。第三个参数rockx_object_array_t的结构体指针主要是输出检测结果这个检测结果的结构体如下count检测的人脸数量rockx_object_t检测的具体信息具体的成员变量如下idobject的id号cls_idxobject的index索引boxrockx的区域信息rockx_rect_t结构体。left区域左边缘的x坐标其实就是x轴数据top:区域顶的y坐标其实就是Y轴数据right区域右边缘的x坐标其实就是left widthbottom区域底的Y坐标其实就是 top heightscoreobject物体信任分数第四个参数config_size默认是0就可以1.4rockx_face_recognize函数的定义函数定义这个API主要是对人脸进行识别并提取人脸数据rockx_ret_t rockx_face_recognize(rockx_handle_t handle, rockx_image_t *in_img, rockx_face_feature_t *out_feature);第一个参数rockx_handle_t的结构体第二个参数rockx_image_t的结构体指针这个是输入的图像需要检测的图像也可以是每一帧视频流。第三个参数rockx_face_feature_t的结构体指针rockx_face_feature_t结构体主要是存储人脸的特征值和长度我们来看看这个结构体的组成version人脸识别版本len人脸识别的长度feature[512]人脸识别的数据512的float数组这个值是存储一个二进制数据​​​​​​​1.5rockx_face_feature_similarity函数的定义函数的定义这个API主要是对比两个人脸并计算两个人脸的对比数值rockx_ret_t rockx_face_feature_similarity(rockx_face_feature_t *in_feature1, rockx_face_feature_t *in_feature2, float *out_similarity);第一个参数in_feature1需要对比的人脸特征值1第一个参数in_feature2需要对比的人脸特征值2第三个参数in_feature1和in_feature2对比的相似度值一般小于1.0可以判断为同一个人​​​​​​​1.6rockx_face_align函数的定义函数的定义这个API主要是对目前检测的人脸进行对齐这个对齐一般是用face_landmark检测人脸关键点进行对齐rockx_ret_t rockx_face_align(rockx_handle_t handle, rockx_image_t *in_img, rockx_rect_t *in_box, rockx_face_landmark_t *in_landmark, rockx_image_t *out_img);第一个参数rockx_handle_t的结构体第二个参数in_img输入的图像第三个参数in_box是人脸检测的区域用矩形来表示我们来看看rockx_rect_t的结构体成员变量left表示矩形左边缘的X坐标。top表示矩形顶部的y坐标right表示矩形右边缘的x坐标bottom表示矩形底部的y坐标。第四个参数rockx_face_landmark_t 的结构体指针主要是检测人脸关键点我们来看看这个结构体的成员变量image_width图像的长度image_height图像的高度face_box人脸的检测区域用矩形表示landmarks_count关键点个数landmarks[128]具体的人脸关键点rockx_point_t来表示它本质上就是x,y的点score每个关键点的分数第五个参数out_img输出的图像经过人脸对齐后的图像​​​​​​​1.7rockx_face_filter函数的定义函数的定义这个API主要是过滤人脸过滤图像中不符合人脸的图像rockx_ret_t rockx_face_filter(rockx_handle_t handle, rockx_image_t *in_img, rockx_rect_t *in_box, int *is_false_face);第一个参数rockx_handle_t的结构体第二个参数in_img是输入的图像第三个参数in_box人脸检测区域是一个矩形第四个参数is_falas_face判断当前检测的图像是否是人脸是人脸就等于true否则false​​​​​​​1.8rockx_face_masks_detect函数的定义函数解释这个API主要是检测当前人脸是否有戴口罩rockx_ret_t rockx_face_masks_detect(rockx_handle_t handle, rockx_image_t *in_img, rockx_face_mask_array_t *face_mask_array, rockx_async_callback *callback);第一个参数rockx_handle_t的结构体第二个参数in_img是输入的图像第三个参数face_mask_array存放口罩的数据我们来看看这个结构体的数据第一个参数count口罩的数量第二个参数rockx_face_mask_t具体的口罩参数如下图第一个参数face_box是口罩的区域用矩形表示第二个参数mask_score口罩的分数第三个参数hasMask是否有戴口罩

相关文章:

Linux48:rockx常用的API

rockx人脸检测使用的API rockx框架提供了一系列的人脸识别、检测的API,开发者使用它的API能够快速开发出人脸相关的功能。我们来看看在人脸检测中需要用到的API。 1.1 rockx_create函数的定义 rockx_ret_t rockx_create(rockx_handle_t *handle, rockx_module_t m…...

ChatGPT免费版数学暴涨24%,还藏了个语音大招

5月5号GPT-5.5 Instant上线,5月7号GPT-Realtime-2发布。 两天两发,一文本一语音。 免费用户直接拿到旗舰级智力,这事比跑分本身有意思。 ​ 不是阉割版,是旗舰智力配了极速响应 先说我判断变化的地方。 GPT-5.5 Instant刚发布时…...

四足机器人滑行控制:贝叶斯优化与强化学习协同设计

1. 四足机器人滑行控制的挑战与机遇四足机器人在复杂地形移动方面展现出巨大潜力,但传统行走模式在平滑地面上的速度和能效始终无法与轮式机器人媲美。2018年,苏黎世联邦理工学院的研究团队首次在ANYmal机器人上展示了被动轮滑行技术,相比传统…...

skillspm:AI智能体技能包管理器,实现环境管理的声明式工作流

1. 项目概述:为AI智能体设计的原生技能包管理器如果你正在构建或使用AI智能体(比如Claude Code、OpenClaw这类工具),并且发现管理它们的“技能”(Skills)变得越来越复杂——不同项目需要不同的技能组合&…...

QT下载并安装

一、QT下载 1、从 Qt 5.15.0 开始,开源版本必须用在线安装器,不再提供离线安装包。 2、错误处理:./qt-online-installer-linux-x64-4.11.0.run: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28 not found (required by ./qt-online-…...

Redis别再只当缓存用!8种常用数据结构+实战选型,一看就会

大家好,我是直奔標竿!做开发的朋友应该都有这种体会:学Redis入门,基本上都是从GET/SET开始,简单好记,上手也快。可一到实际项目里就犯难——不管什么数据,都往String里塞,到最后Redi…...

顶俏模式商城系统开发 单层直推积分流转架构解析

顶俏模式为什么能在私域电商里爆火近几年私域电商卷得厉害,各种新模式换着花样出来,能留到现在还被人追捧的,顶俏模式绝对算一个。很多人一开始看不懂,为什么偏偏是单层直推的模式火了,还不是因为之前不少多级分销踩了…...

SKILL推荐实战 - 80%测试覆盖率不是梦,而是标准工作流

❀ springboot-tdd是什么?springboot-tdd 是一个专为 Spring Boot 项目设计的测试驱动开发(TDD)技能。它提供了一套完整的测试工作流,覆盖从单元测试到集成测试的全链路。核心技术栈:JUnit 5 - 测试框架Mockito - Mock…...

高性能MCP服务器实战:AI应用通信优化与性能调优指南

1. 项目概述:一个为AI应用提速的“高速公路”接口最近在折腾AI应用开发的朋友,估计都绕不开一个词:MCP(Model Context Protocol)。简单来说,它就像是一个标准化的“插头”,让不同的AI模型&#…...

KES数据库安全、权限、审计实战

KES数据库安全、权限、审计实战这一章专门讲生产上线必过的安全关——等保2.0、三权分立、数据脱敏、操作审计、国密加密、权限最小化。内容全部来自政务/金融/央企真实上线场景,完全贴合KES官方安全规范,学完就能直接过等保、过检查、上线不踩坑。一、&…...

AI应用开发实战:基于Awesome清单构建生产级LLM客户端

1. 项目概述:一个AI客户端的“Awesome”清单意味着什么?最近在GitHub上闲逛,又发现了一个让我眼前一亮的项目:wlemuel/awesome-ai-client。光看这个标题,任何一个在AI应用开发领域摸爬滚打过一段时间的开发者&#xff…...

Captain AI:深度市场洞察,助力OZON商家精准把握商机

在瞬息万变的俄罗斯OZON电商市场,谁能率先发现市场趋势、洞察用户需求,谁就能在竞争中占据主动。然而,面对海量的市场数据和复杂的消费行为,传统的人工分析方式往往难以奏效。一、OZON市场分析的核心难点1. 市场趋势难以预判俄罗斯…...

使用Taotoken后模型API调用的延迟与稳定性体感观察

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken后模型API调用的延迟与稳定性体感观察 在近期的虚拟机开发测试项目中,我们通过Taotoken平台统一接入了多个…...

浏览器资源嗅探技术:从碎片化视频流到完整内容获取的解决方案

浏览器资源嗅探技术:从碎片化视频流到完整内容获取的解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 当你在观看在线课程时突然…...

XNBCLI:3步搞定星露谷物语XNB文件解包打包的完整指南

XNBCLI:3步搞定星露谷物语XNB文件解包打包的完整指南 【免费下载链接】xnbcli A CLI tool for XNB packing/unpacking purpose built for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/xn/xnbcli 想要修改星露谷物语中的游戏资源吗&#xff1f…...

告别布线困扰 ,TurMass Mesh 无线组网方案让农业物联网部署简单高效

农业是立国之本,畜牧业是农业经济的重要支柱。在数字农业和智慧畜牧的时代浪潮中,如何实现农业生产环境的全面感知、精准管控和科学决策,成为摆在广大农业从业者面前的重要课题。从大型温室大棚到广袤农田,从标准化养殖场到分散的…...

.NET Web API数据库游标性能优化与最佳实践指南

1. 项目概述与核心价值最近在重构一个遗留的.NET Web API项目时,遇到了一个让我头疼的问题:数据库查询性能在特定场景下急剧下降。经过层层排查,最终定位到罪魁祸首是几个写得不太规范的游标(Cursor)操作。这让我意识到…...

从“石头剪刀布”到商业竞争:用Python实战模拟完全信息静态博弈(附代码)

从“石头剪刀布”到商业竞争:用Python实战模拟完全信息静态博弈 博弈论常被视为经济学中的"数学武器库",但它的魅力远不止于学术论文。当我们在电商平台比价时,当两家外卖App同时发放优惠券时,甚至当你在会议室与同事讨…...

别再死记硬背了!用一张图+实战代码,带你吃透USB PD协议里的24种控制消息

图解USB PD协议:24种控制消息的实战解码手册 在嵌入式开发领域,USB Power Delivery(PD)协议堪称电源管理的"瑞士军刀",但协议文档中晦涩的状态机和抽象术语常常让开发者陷入"每个字都认识,连…...

深入解析系统级光标定制:从原理到实践打造个性化交互体验

1. 项目概述:从“换个鼠标指针”到打造个性化交互体验 “换个鼠标指针”听起来像是个微不足道的小把戏,对吧?我最初也是这么想的。但当我真正开始深入使用和定制 ashutoshbhole1/custom_cursor 这个项目时,我才意识到&#xff0…...

泰山派3M-RK3576-Linux内核驱动教程-Linux驱动基础-字符驱动设备-应用程序访问字符设备

06.应用程序访问字符设备 在上一个章节中,我们编写了一个驱动程序,这里我们要编写一个APP应用程序,实现在应用层调用驱动底层的 open 和 write 函数。 一、APP和驱动程序的区别与分工 1. 驱动程序(Driver) 工作在内核空…...

SPI 在 以太网 PHY、CAN 控制器 中的通信应用(原理 + 场景 + 接线 + 时序全覆盖)

一、核心总览SPI 在这两类器件里不是做业务数据总线,核心作用是:MCU 通过 SPI 对 PHY / CAN 控制器 做:配置初始化、寄存器读写、状态读取、故障诊断以太网 PHY:SPI 管理 PHY 寄存器、速率 / 双工、链路状态CAN 控制器&#xff08…...

泰山派3M-RK3576-Linux内核驱动教程-Linux驱动基础-字符驱动设备-实现一个字符设备

接下来我们自己来实现一个字符设备,进行一个实操演示。 一、字符设备驱动的基本结构 驱动程序主要包括以下几个关键部分: 注册设备号和 cdev实现 file_operations 结构体(包含 read/write 等操作)创建设备类和设备节点资源释放和模…...

运维养龙虾--MongoDB 官方 Agent Skills 深度解析:为编码智能体注入专家级最佳实践

前言 软件工程正在经历一场深刻的变革。智能体工程(Agent Engineering) 时代已经到来。 根据 Stack Overflow 2025 年开发者调查显示: 84% 的受访者已在开发中使用或计划使用 AI 工具这一比例高于 2024 年的 76% 在这个背景下&#xff0c…...

泰山派3M-RK3576-Linux内核驱动教程-Linux驱动基础-字符驱动设备-字符设备框架

03.字符设备框架 一、什么是字符设备? 字符设备(Character Device)是一类能像“一个字节一个字节”那样进行数据流式读写的设备,常见例子有串口、键盘、鼠标等。用户和程序通过文件操作(open、read、write、close 等&a…...

泰山派3M-RK3576-系统功能-Android14-mSATA硬盘使用

Android14系统mSATA使用 说明 mSATA 是一种小型化的 SATA 接口,常用于笔记本电脑和嵌入式设备中。泰山派3m开发板上集成了MINI-PCIe接口,MINI-PCIe 和 mSATA 物理接口兼容,可以方便地连接 mSATA 固态硬盘,以扩展存储容量和提升数…...

Ruler:统一管理AI编程助手指令,提升团队协作与代码质量

1. 项目概述:为什么你需要一个AI助手指令的“中央集权”系统?如果你和我一样,每天要和GitHub Copilot、Cursor、Claude Code、Aider等好几个AI编程助手打交道,那你一定遇到过这种烦恼:每个工具都有自己的配置文件&…...

【2026实测】论文AI率居高不下?3大高阶指令+4款工具快速通关指南

撰写文章的那段日子,我之前也像无头苍蝇一样试过不少免费降ai率工具。结果往往是耗费了大量时间和精力,却没有看到明显降低ai率的效果,有时反而打乱了原本顺畅的逻辑,甚至改得前言不搭后语。 其实,只要掌握对的方法和…...

一个 C++ 程序从磁盘到内存要经历多少次变形?——从 ELF section 到 segment,拆解 execve 加载器的 6 步地址空间构建

在你的终端里敲下 readelf -S a.out,屏幕会吐出将近 30 行——.text、.rodata、.data、.bss、.symtab、.strtab、.rela.dyn、.rela.plt、.init_array、.fini_array……一个看似简单的 C++ 程序,编译器和链接器在它体内塞了三十个形状各异的"隔间",每个隔间有自己的…...

基于RAG的智能论文管理工具paperbanana:从本地部署到高级应用全解析

1. 项目概述与核心价值最近在开源社区里,一个名为paperbanana的项目引起了我的注意。乍一看这个名字,你可能会觉得有点无厘头——“论文香蕉”?但当你深入了解后,会发现它精准地戳中了每一个从事大语言模型(LLM&#x…...