相机内外参知识

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

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

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

设 R R R为 3x3 的旋转矩阵, t t t为 3x1 的平移向量,那么外参数矩阵 [ R ∣ t ] [R | t] [R∣t]描述了世界坐标系中的一点 X w X_w Xw如何通过旋转和平移到相机坐标系中对应的点 P c P_c Pc,可以用以下公式表示:

X c = R ⋅ X w + t X_c = R \cdot X_w + t Xc=R⋅Xw+t

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

O w = − R T ⋅ t O_w = -R^T \cdot t Ow=−RT⋅t

这就是相机原点在世界坐标系下的坐标。如果你有具体的 R R R和 t t t值,可以直接代入上述公式进行计算。

如果文档或代码中没有明确指出,那么默认情况下外参数矩阵指的通常是 world2cam 变换。

齐次坐标系:
X c = [ R ∣ T ] X w X_c = [R|T]X_w Xc=[R∣T]Xw,这里的 [ R ∣ T ] [R|T] [R∣T]表示的就是world2cam,也就是外参矩阵。此时相机原点在世界坐标系下坐标是 O w = − R T ⋅ T O_w = -R^T \cdot T Ow=−RT⋅T
X w = [ R ∣ T ] X c X_w = [R|T]X_c Xw=[R∣T]Xc,这里的 [ R ∣ T ] [R|T] [R∣T]表示的是cam2world,此时相机原点在世界坐标系下坐标是 T [ 0 ] , T [ 1 ] , T [ 2 ] T[0],T[1],T[2] T[0],T[1],T[2]

相关推荐
妄想出头的工业炼药师11 小时前
imu相机EKF
数码相机
合方圆~小文11 小时前
工业摄像机基于电荷耦合器件的相机
人工智能·深度学习·数码相机·目标检测
资源补给站1 天前
大恒相机开发(1)—Python调用采集彩色图像并另存为本地
开发语言·python·数码相机
OAK中国_官方2 天前
四相机设计实现全向视觉感知的开源空中机器人无人机
数码相机·机器人·无人机
s_daqing2 天前
解锁BL后的K40降级
数码相机
汇能感知2 天前
如何测量分辨率
经验分享·笔记·科技·相机
Stark-C4 天前
相机与NAS的奇妙组合,如何使用相机拍照自动上传或备份到NAS
数码相机
飞鸟酱的论文diary4 天前
World-Grounded Human Motion Recovery via Gravity-View Coordinates
人工智能·深度学习·数码相机·机器学习·计算机视觉
晓纪同学4 天前
图漾相机-ROS1_SDK_ubuntu版本编译(新版本)
linux·数码相机·ubuntu