笛卡尔坐标系转换(外参矩阵原理与用途)

1. 外参矩阵定义

外参矩阵(Extrinsic Matrix)描述 两个笛卡尔坐标系之间的几何关系,由以下两部分组成:

  • 旋转矩阵 R:表示一个坐标系相对于另一个坐标系的方向
  • 平移向量 t:表示一个坐标系原点在另一个坐标系中的位置

公式:
X目标=RX源+t \mathbf{X}{\text{目标}} = R \mathbf{X}{\text{源}} + \mathbf{t} X目标=RX源+t

齐次矩阵形式:
T=[Rt0⊤1] T = \begin{bmatrix} R & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix} T=[R0⊤t1]

X_{源} 为源坐标系下的点,X_{目标} 为目标坐标系下的点。


2. 原理

外参矩阵的核心原理是线性空间变换

  1. 旋转 R:调整坐标系的方向,使两个坐标系的轴对齐
  2. 平移 t:将源坐标系的原点移动到目标坐标系的位置

本质上,外参矩阵是两个笛卡尔坐标系之间的"桥梁",不依赖坐标来源,只要是笛卡尔坐标系即可使用。


3. 使用条件

  • 必须是 笛卡尔直角坐标系 (x, y, z)
  • 单位、方向、原点可以任意定义,只要两个坐标系一致即可
坐标类型 外参可用性 说明
棋盘板坐标 相机标定常用
SLAM 世界坐标 局部坐标系
ROS map/odom 机器人本地坐标
LiDAR/IMU 笛卡尔系
UTM / ENU 地理坐标投影成平面坐标
经纬度/海拔 球面坐标,需要先转换成笛卡尔系

4. 主要用途

  1. 坐标系转换

    • 将点从源坐标系转换到目标坐标系
  2. 相机标定

    • 描述相机相对于标定板或世界坐标系的位姿
    • 用于图像点在不同坐标系间投影
  3. 多传感器融合

    • LiDAR ↔ 相机、IMU ↔ 相机之间坐标统一
  4. 机器人与无人车定位

    • 将传感器或车辆局部坐标转换到地图或全局坐标
  5. SLAM / VIO 系统

    • 将局部特征点从源坐标系转换到目标世界坐标
  6. 仿真与虚拟场景

    • Unity / Gazebo 世界坐标系 ↔ 相机坐标系

5. 核心结论

  • 坐标系转换本质 = 旋转 + 平移
  • 适用于 任意两个笛卡尔坐标系之间的转换
  • 源坐标可以是棋盘板、SLAM世界坐标、机器人地图坐标、UTM/ENU 等
  • 不适用球面坐标(经纬度),必须先投影成笛卡尔坐标
  • 是多传感器融合和坐标系转换的核心工具

6. 内参 vs 外参对比

  • 内参矩阵:描述相机内部参数(焦距、主点、像素比例等)
  • 外参矩阵:描述坐标系之间的位置和方向(旋转 + 平移)

简单理解:内参负责"相机镜头特性",外参负责"坐标系之间的位置和姿态"。

相关推荐
研志必有功8 个月前
golang坐标转换 gomap3d库
golang·坐标转换·天文
Script_Man1 年前
VBA进行excel坐标转换
算法·自动化·vba·坐标转换·combobox·excel画图
流浪猪头拯救地球2 年前
C# 项目:导线计算 / 坐标转换 / 曲线放样 / 水准网 / 导线网平差
开发语言·c#·坐标转换·平差
斯内科2 年前
C#实现坐标系转换
算法·坐标转换·物体旋转
不会就学呢2 年前
坐标转换之WGS84坐标转换到火星坐标GCJ02
坐标转换
一颗小树x2 年前
3D目标检测数据集 KITTI(标签格式解析、点云转图像、点云转BEV)
人工智能·数据集·坐标转换·3d目标jianc·kitti
天使画笔2 年前
WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换 资料收集
百度·gps·坐标转换
占星安啦2 年前
坐标转换-使用geotools读取和转换地理空间表的坐标系(sqlserver、postgresql)
postgresql·sqlserver·geoserver·坐标转换·geotools