跳转至

36. 相机内参与坐标标定

36.1 学习目标

生成与当前分辨率匹配的相机内参,验证重投影效果,并区分相机内参与相机到机器人外参。

36.2 适用范围

针孔模型 RGB 相机。鱼眼和深度相机按驱动支持的模型处理。

36.3 操作前检查

  • 固定相机安装位置。
  • 确定实际图像分辨率和标定板方格尺寸。
  • 打印标定板时不缩放,测量实际边长。

36.4 工作原理

第 35 章的相机驱动通过 camera_info 发布标定结果,OpenCV 和视觉节点用它把像素位置转换成可计算的几何关系。内参描述焦距、主点和畸变,只对特定镜头、对焦和分辨率有效;外参描述相机坐标系相对 base_link 的位置和方向,并通过 TF2 交给机器人其他节点。换分辨率或安装姿态后,不能把两类参数混在一起沿用。

36.5 操作步骤

  1. 启动原始图像和 camera_info。
  2. 使用规范棋盘格,从近远、左右、上下和倾斜角采集完整视野样本。
  3. 运行相机标定工具,输入内角点数量和实测方格尺寸。
  4. 样本覆盖充分后计算并保存 YAML。
  5. 重启相机节点,确认 camera_info 加载新文件。
  6. 查看去畸变图像和直线边缘;再单独核对相机到机器人坐标的静态 TF。

36.6 验收标准

  • 标定文件与相机名、分辨率对应。
  • 样本覆盖整个画面,不只集中在中心。
  • 去畸变后直线合理,重投影误差没有明显离群样本。
  • camera_info 持续发布新内参。
  • 相机外参通过实物测量和 TF 验证。

36.7 故障排查

先确认棋盘格、镜头与原始图像设备状态,再检查相机节点和 camera_info 话题。位置整体偏移时优先核对外参与 TF;图像校正仍异常时才回到相机模型和标定算法设置。

现象 处理
棋盘格检测不稳 光照、反光、模糊、打印平整度和尺寸设置
标定后更变形 内角点数量、方格尺寸、相机模型或分辨率错误
视觉位置整体偏 检查外参,不重新乱调内参
重启后参数丢失 标定文件路径、相机名和 Launch 参数

章节导航

上一章:摄像头、OpenCV 与图像话题 · 返回本篇 · 下一章:视觉应用与网页视频