相机内外参知识

已知相机的内外参数矩阵,可以求得相机在世界坐标系下的原点坐标。这里需要理解几个概念:

  1. 内参数矩阵(Intrinsic Matrix): 描述相机本身的属性,比如焦距、主点位置等。
  2. 外参数矩阵(Extrinsic Matrix): 描述相机相对于世界坐标系的位置和姿态。

外参数矩阵通常由旋转矩阵RRR和平移向量ttt组成,它们一起描述了从世界坐标系到相机坐标系的转换。如果要计算相机原点在世界坐标系中的位置,则需要考虑这个变换的逆变换,即从相机坐标系到世界坐标系的变换。

RRR为 3x3 的旋转矩阵,ttt为 3x1 的平移向量,那么外参数矩阵[R∣t][R | t][Rt]描述了世界坐标系中的一点XwX_wXw如何通过旋转和平移到相机坐标系中对应的点PcP_cPc,可以用以下公式表示:

Xc=R⋅Xw+tX_c = R \cdot X_w + tXc=RXw+t

对于相机坐标系的原点OcO_cOc,其在相机坐标系中的坐标是(0,0,0)T(0, 0, 0)^T(0,0,0)T。为了找到这个点在世界坐标系中的坐标 OwO_wOw,我们需要做逆变换。由于OcO_cOc在相机坐标系中是原点,所以我们可以简单地使用负的平移向量−RT⋅t-R^T \cdot tRTt来得到它在世界坐标系中的坐标,因为旋转矩阵的转置等于它的逆(RT=R−1R^T = R^{-1}RT=R1,前提是RRR是正交矩阵),所以我们有:

Ow=−RT⋅tO_w = -R^T \cdot tOw=RTt

这就是相机原点在世界坐标系下的坐标。如果你有具体的RRRttt值,可以直接代入上述公式进行计算。
如果文档或代码中没有明确指出,那么默认情况下外参数矩阵指的通常是 world2cam 变换。

齐次坐标系:
Xc=[R∣T]XwX_c = [R|T]X_wXc=[RT]Xw,这里的[R∣T][R|T][RT]表示的就是world2cam,也就是外参矩阵。此时相机原点在世界坐标系下坐标是Ow=−RT⋅TO_w = -R^T \cdot TOw=RTT
Xw=[R∣T]XcX_w = [R|T]X_cXw=[RT]Xc,这里的[R∣T][R|T][RT]表示的是cam2world,此时相机原点在世界坐标系下坐标是T[0],T[1],T[2]T[0],T[1],T[2]T[0],T[1],T[2]

你可能感兴趣的:(数码相机,相机参数,相机)