行业动态

Camera2 YUV输入回顾:rowStride、pixelStride与帧生命周期

Camera2的YUV_420_888输入需要检查rowStride、pixelStride及Image释放时机。结合视觉SDK案例,提供格式、方向、缓冲区责任与接入记录字段。

行业动态 2026-10-17 稳格科技
文章正文行业动态

技术回顾

Camera2图像接入首先要确认缓冲区怎样排列、何时可用以及何时释放。YUV_420_888不能仅凭宽高就按连续NV21读取;每个平面的跨度、裁剪范围、方向和异步处理责任都应进入SDK输入约定。

两种stride分别说明什么

rowStride表示相邻两行起点之间的字节跨度,pixelStride表示同一行相邻像素样本之间的字节跨度。它们与图像宽度不是同一个概念。按照目标设备实际返回的平面信息读取,能避免把行尾填充或不同平面布局误当作有效像素。

Android的ImageFormat资料和Image.Plane接口是格式与跨度定义的依据。本文按这些接口回顾接入方法,适用设备仍需通过相应输入用例核对。

进入SDK前核对哪些输入

表格可横向滑动查看完整列。

核对项 应记录的信息 对应检查
格式与平面 格式、宽高、各平面的rowStride与pixelStride 错行、错色、越界及裁剪范围
方向与镜像 传感器方向、显示方向、前置镜像规则 横竖屏、左右关系与坐标变换
生命周期 谁持有Image、是否复制、异步处理何时结束 释放后读取、漏释放与队列阻塞
负载与队列 采集/提交频率、积压和丢帧策略 持续输入下的延迟与资源占用
输出坐标 模型输入、裁剪区域与预览区域 检测框与已知位置的对应关系

给异步处理明确缓冲区责任

Image及其平面的可用期需要与异步任务一致。若回调结束就释放Image,后续任务应使用约定方式获得仍然有效的数据;若延后释放,则需说明任务结束、取消和异常时由谁释放。不能只验证一帧成功而省略持续采集和错误路径。

下面的字段可作为一次接入问题的记录模板,不预填设备测试数值。

表格可横向滑动查看完整列。

记录字段 内容 用途
环境身份 设备、Android版本、相机与SDK修订 区分设备和代码差异
输入元信息 格式、宽高、裁剪区域、平面跨度 复查转换假设
所有权与时间点 回调、提交、处理结束、释放责任 判断失效读取与积压
验证样本 可公开图案、方向及预期坐标 对照转换与坐标结果
异常路径 取消、超时、设备断开及恢复步骤 检查资源能否按约定回收

案例范围与接入资料

RK3588离线人脸检测与视觉SDK案例涉及Android、Camera2及离线CPU链路。人脸检测与身份识别是不同任务,NPU加速和其他设备兼容需要各自证据。评估RK3588 Android系统适配时,可提交目标设备、系统、样本、现有接口与上述接入记录,再确定设备矩阵及测试范围。

提交项目需求

留下联系方式和需求简述,便于我们判断技术方向、交付范围和沟通方式。

在线咨询
电话咨询
13910119357
微信咨询
WhatsApp
稳格科技 WhatsApp 二维码 扫码或点击联系
回到顶部