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

rockx读取单张图片并检测图片内人脸的矩形

一.rockx人脸检画框测大体流程:

本次代码主要实现如何通过rockx的框架进行人脸的检测,并把人脸画出来。具体的流程如下:

具体步骤实现:

1.初始化rockx人脸检测框架

 首先要使用rockx_create_config分配rockx_config_t结构体,并使用rockx_add_config把对应的rockx路径配置进去,在我们的板子里面在/userdata/rockx_data里面

这里易错:使用的是 rockx_add_config(face_detect_config, ROCKX_CONFIG_DATA_PATH, "/tmp/rockx_data/");

然后,并使用rockx_create创建rockx_handle_t句柄。

2.读取人脸图片

读取对应的人脸图片,在rockx里面用rockx_image_read来读取对应的人脸图片。并把人脸的特征数据传入到rockx_image_t结构体里面。

3.调用rockx的人脸检测API对其进行人脸检测

调用rockx_face_detect对图片进行人脸检测,这里的输入的是input_image,这个是由rockx_image_read读取的图片数据,输出的数据是rockx_object_array_t后面的数据则都是通过rockx_object_array_t来处理。

4.循环人脸数量并使用Opencv进行画框

循环人脸数量,人脸数量是face_array.count。然后获取人脸的坐标属性,这里的坐标属性就是left、top、width、high,并用OPENCV把input_image转换成Mat矩阵( Mat tmp_img = Mat(input_image.height, input_image.width, CV_8UC3, input_image.data)),转换完成之后再使用rectangle把坐标转换成矩形。

​​​​​​​5.保存人脸检测的图片

最后用imwrite保存人脸检测后的图片,并使用rockx_destroy销毁rockx_handle_t

结果:

二.小结

问题1:

在写代码的时候遇到如下报错

535724 rockx face_detection_v2 model data not found!
2535724 rockx init module(1) error -1
rockx_create failed, error: -1

自己已经在板子上上传了模型,但是却说没有。反复检查代码中的路径也没有填错,但是就是找不到。后面查阅资料发现:可能是自己使用的板子SDK与学习的视频中的版本不同,路径的配置有所不同

 所学视频用的是:ROCKX_CONFIG_BIN_PATH来设置路径,这个在我的板子上就会导致找不到模型,然后改成ROCKX_CONFIG_DATA_PATH后就没有问题了。

问题2:

自己用的照片是四个人,但是检测结果却出来了7个

http://www.lryc.cn/news/571176.html

相关文章:

  • vite的常用配置
  • 「动态规划::数位DP」统计数字递推 / LeetCode 3352|1012(C++)
  • 线程池(Thread Pool)详解
  • 基于Cesium移动的天空云
  • 【Docker基础】Docker核心概念:命名空间(Namespace)之IPC详解
  • 根据Python模块的完整路径import动态导入
  • 05_MinIO+Java SpringBoot 实现透传代理下载
  • 如何确定驱动480x320分辨率的显示屏所需的MCU主频
  • 为何前馈3DGS的边界总是“一碰就碎”?PM-Loss用“3D几何先验”来解
  • Mac 安装JD-GUI
  • 低轨导航 | 低轨卫星导航PNT模型,原理,公式,matlab代码
  • 软件工程:流程图如何画?
  • Python 爬虫入门 Day 5 - 使用 XPath 进行网页解析(lxml + XPath)
  • springboot使用kafka
  • Jmeter的三种参数化方式详解
  • web前端开发核心基础:Html结构分析,head,body,不同标签的作用
  • Java内存模型与线程
  • Anaconda 使用
  • 力扣经典算法篇-17-反转字符串中的单词(逆序遍历,数组分割,正则表达式)
  • 4_STM32F103ZET6芯片系统架构和寄存器
  • 通过自适应训练样本选择弥合基于锚点和无锚点检测之间的差距之ATSS论文阅读
  • 【论文阅读】BACKDOOR FEDERATED LEARNING BY POISONING BACKDOOR-CRITICAL LAYERS
  • Matlab自学笔记五十九:符号变量的代入和替代subs精讲
  • Windows10安装WSL Ubuntu
  • 设计模式:单例模式多种方式的不同实现
  • vue中diff算法的原理
  • 把springboot打包为maven可引入的jar
  • Maven 的 settings.xml详解
  • 深度学习中常见的激活函数分析
  • Android Studio Jetpack Compose毛玻璃特效按钮