在嵌入式视觉开发领域,RAW图是算法调试与画质优化的"黄金素材"。它未经ISP加工,真实还原了Sensor的原始数据。本期技术分享,灵眸科技工程师将为您详解在Rockchip平台上抓取RAW图的完整流程,助您快速获取高质量原始数据,夯实项目开发基础。
在嵌入式视觉项目中,无论是进行3A算法(AF/AE/AWB)的底层调试,还是针对特定场景进行画质调优,获取纯净的RAW图都是至关重要的第一步。RAW数据保留了图像传感器最原始的Bayer阵列信息,未经过白平衡、降噪及色彩增强等ISP处理,能让开发者最直观地评估硬件性能与环境光线。
针对ROCKCHIP平台开发板,我们整理了这份详尽的RAW图抓取指南。本文将从环境准备到命令执行,逐一拆解关键步骤,助力企业研发团队提升开发效率。
PART.01
抓取前的准备工作
为确保抓取过程顺利,请提前确认以下环境与权限配置:
1.硬件环境:Rockchip开发板(如我们的EASY-EAI-Nano-TB等型号)已正常启动,且MIPI摄像头模组连接稳固。
2.软件工具:系统已预装 v4l2-ctl(视频设备控制工具)及 systemctl(服务管理工具)。
3.操作权限:全程需使用 root 权限操作,避免因权限不足导致命令执行失败。

PART.02
核心操作流程
1. 关闭 RKAIQ 3A 服务
Rockchip平台默认运行 rkaiq_3A_server服务,该服务会自动对Sensor数据进行处理。为了获取"纯血"RAW图,必须先关闭此服务。
systemctl stop rkaiq_3A
验证状态:
systemctl status rkaiq_3A
若反馈显示为AUTHENTICATION COMPLETE,则表示服务已成功关闭。

2. 使能非紧凑模式(Non-compact Mode)
平台默认的"紧凑模式"可能会对输出数据进行压缩或裁剪。我们需要手动关闭它,以确保获取完整的RAW数据。
推荐方式:环境变量配置
export normal_no_read_back=0
备选方式:Sysfs节点配置
若环境变量不生效,可根据摄像头接口,向对应节点写入数值:
echo 0 0 0 0 > /sys/devices/platform/rkcif-mipi-lvds/compact_test# 若为lvds2接口,则执行:# echo 0 0 0 0 > /sys/devices/platform/rkcif-mipi-lvds2/compact_test
3. 确认 Video 设备节点
Rockchip平台通过/dev/video*节点管理摄像头设备。不同的stream_cif_mipi_id对应不同的功能(如线性模式或HDR模式)。我们需要找到正确的节点路径。
执行命令查找:
grep "stream_cif_mipi_id" /sys/class/video4linux/*/name
输出示例解读:
注:示例中,stream_cif_mipi_id0对应/dev/video0。通常情况下,线性模式抓取RAW图优先选用 id0对应的节点。
/sys/class/video4linux/video0/name:stream_cif_mipi_id0/sys/class/video4linux/video1/name:stream_cif_mipi_id1
4. 执行 RAW 图抓取
使用v4l2-ctl工具进行抓图。以下命令以抓取BG10格式、1920x1080分辨率的单帧RAW图为例:
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --stream-mmap=3 --stream-skip=3 --stream-poll --verbose --stream-count=1 --stream-to=/tmp/cam0.raw
关键参数解析:
-d /dev/video0:指定视频节点(请根据上一步查询结果替换)。
--set-fmt-video:设定视频格式。BG10代表10位深度的Bayer RAW数据(BGBG排列)。
--stream-skip=3:跳过前3帧,排除Sensor启动阶段的不稳定数据。
--stream-to=/tmp/cam0.raw:指定RAW图的存储路径。
抓取完成后,可通过ls /tmp/ | grep cam0.raw确认文件是否生成。
PART.03
避坑指南与注意事项
权限报错:若出现 Permission denied,请执行 su root切换至超级用户。
参数校验:若出现 Invalid argument,通常是分辨率或像素格式不被支持。建议使用 v4l2-ctl -d /dev/video0 --list-formats-ext查看Sensor支持的具体参数。
RAW图查看:BG10等RAW格式无法直接用普通看图软件打开,建议使用 ImageMagick、RawDigger 等专业工具,或通过自研代码进行解析。
HDR模式:HDR RAW图的抓取涉及不同的ID映射关系,建议结合具体的Rockchip芯片手册及摄像头模组Datasheet进行确认。
写在最后
把整套流程串起来看,Rockchip平台抓RAW图其实就四件事:关3A → 开非紧凑 → 对节点 → v4l2-ctl落帧。步骤不复杂,但每一步都有"踩坑点"——3A没关干净拿到的是ISP后的数据、紧凑模式没解开会丢行、节点对错了HDR和线性会串流。把这些细节捋顺,后面做IQ tuning、做3A对标、甚至做Sensor选型评估,素材才站得住脚。
这篇帖子是我们工程师在 EASY-EAI-Nano-TB 实板上跑通后整理出来的原版记录,社区里还有同系列的Netplan、MIPI出图排查路径、AI-ISP的几篇,都是"先踩完坑再写出来"的经验之谈。做嵌入式项目的同学,欢迎来社区蹲一蹲。

全部0条评论
快来发表一下你的评论吧 !