个人观点,仅供参考......
个人观点,仅供参考......
个人观点,仅供参考......
一旦开始做图像拼接,举着标定板当 "举牌人" 这事儿,会成你绕不开的 "固定环节"------ 想躲都躲不掉,堪称挥之不去的噩梦。
一、系统环境说明
1. 硬件平台
- 核心板:RK3588 开发板;
- 摄像头模块:多路 MIPI CSI-2 摄像头(IMX512);
- 标定工具:标准棋盘格标定板( 9×6 内角点,格子尺寸 20-30mm,确保角点检测精度)。
2. 软件环境
- 操作系统:Ubuntu 20.04 LTS(支持 V4L2 摄像头驱动框架);
- 核心库:OpenCV(用于图像采集、图像保存);
- 辅助工具:v4l-utils(摄像头设备检测与参数配置)。
3. 其他
基于3588的图像采集相对较为复杂,如果可以直接获取摄像头图像,比如UVC、工程宝等可以保存图像,那下面的可以跳过了。
二、硬件准备与配置
摄像头连接:将多路摄像头通过 MIPI CSI 接口接入 RK3588,确保硬件接线稳定,避免接触不良;
设备树配置:修改 RK3588 设备树文件,启用多路摄像头节点,使系统识别摄像头设备(这部分过于简单不再单独赘述);
设备验证:通过v4l2-ctl --list-devices命令检查摄像头是否被正确识别,确认每路摄像头对应独立的设备节点。
三、内参图像采集(单摄像头标定专用)
内参图像用于计算单摄像头的固有参数(焦距、主点坐标、畸变系数等),需采集不同姿态的棋盘格图像。
1. 采集逻辑
- 摄像头初始化:配置摄像头分辨率、帧率(如 1080P/30fps),确保图像清晰度;
- 实时预览与角点检测:实时显示摄像头画面,自动检测棋盘格内角点,仅保留角点检测成功的图像;
- 样本要求:采集 15-20 张图像,覆盖摄像头全视场(包括近 / 远、左 / 右、上 / 下、倾斜等姿态,这部分最关键一定要采用多姿态,避免样本过于单一),避免图像重复或姿态单一。
2. 操作要点
内参标定靶纸
- 保持标定板光照均匀,避免反光或阴影遮挡角点(很关键);
- 确保标定板在画面中占据合适比例(约 1/3 画面),角点清晰可辨;
- 每张图像的棋盘格姿态差异明显,提升内参标定精度。
四、外参图像采集(多摄像头标定专用)
环视拼接和鸟瞰拼接的外参靶布不一样,但是要求一样。
对于外参,富则标定布穷则棋盘格。
外参图像用于确定多路摄像头间的相对位姿(旋转矩阵、平移向量),需多路摄像头同步拍摄同一棋盘格。
- 确保多路摄像头视野重叠区域包含标定板,且标定板在每路画面中的位置分布均匀;
- 硬件同步优先(RK3588 支持 CSI 同步),若无硬件同步则通过软件帧对齐减少时间差;
- 每组图像拍摄时保持标定板静止,避免因晃动导致角点检测失败。
五、采集后验证
图像完整性:检查保存的内参 / 外参图像数量是否达标,无模糊、黑屏或角点缺失的无效图像;
命名规范性:内参图像按序号命名(如intrinsic_0.jpg),外参图像按 "摄像头编号_组号" 命名,便于后续标定程序识别;
六、关键注意事项
光照控制:采集环境光照稳定,避免强光直射或暗光环境,防止图像噪点影响角点检测;
标定板摆放:内参采集需覆盖摄像头全视场,外参采集需确保标定板在多路摄像头视野内可见;
同步性保障:保证各个摄像头的图像要在相对时间内,外参采集时避免光线影响;
图像质量:摄像头焦距固定,采集过程中避免调整镜头,确保图像分辨率一致。