You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

坐标轴翻转或变换时如何求解相机旋转矩阵

问题解答:坐标系变换下的相机外参更新

结论

是的,新坐标系下的相机旋转矩阵$R'=PR$,完整的新外参矩阵就是$P[R|t]$(其中$[R|t]$是原3×4相机外参矩阵)。

推导过程

先明确符号定义:

  • $W$:原始世界坐标系,$C$:相机坐标系
  • 原相机外参$[R|t]$的定义:相机坐标系下的点$p_C$转换到世界坐标系$p_W$的公式为:
    $$p_W = R p_C + t$$
    其中$R$是3×3旋转矩阵(表示相机坐标系到世界坐标系的旋转),$t$是3×1向量(表示相机原点在世界坐标系中的位置)。
  • 置换矩阵$P$:表示原始世界坐标系$W$到新坐标系$W'$的坐标变换,即任意点在$W$下的坐标$p_W$,转换到$W'$下的坐标$p_{W'}$满足:
    $$p_{W'} = P p_W$$

我们需要找到新坐标系$W'$下的相机外参$[R'|t']$,即满足:
$$p_{W'} = R' p_C + t'$$

将$p_W = R p_C + t$代入$p_{W'} = P p_W$,可得:
$$p_{W'} = P(R p_C + t) = (PR) p_C + Pt$$

对比$p_{W'} = R' p_C + t'$,直接对应得到:

  • 新旋转矩阵:$R' = PR$
  • 新平移向量:$t' = Pt$

因此,新的3×4外参矩阵就是$P$与原外参矩阵$[R|t]$的乘积,即$P[R|t]$。

置换矩阵的直观解释

以你给出的P为例:

import numpy as np
P = np.array([
    [1, 0, 0],
    [0, 0, 1],
    [0, -1, 0]
])

这个矩阵的每一列对应新坐标系$W'$的轴在原世界坐标系$W$中的方向:

  • 第1列$[1,0,0]^T$:$W'$的x轴与$W$的x轴一致
  • 第2列$[0,0,1]^T$:$W'$的y轴对应$W$的z轴
  • 第3列$[0,-1,0]^T$:$W'$的z轴对应$W$的-y轴

原旋转矩阵$R$的每一列是相机各轴在$W$中的方向,经过$P$变换后,$PR$的每一列就变成了相机各轴在$W'$中的方向,这正好是新旋转矩阵$R'$的定义,进一步验证了结论的正确性。


内容的提问来源于stack exchange,提问作者H. Kwak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:50:15