相机内外参知识

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

  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]

相关推荐
PPPPPaPeR.8 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
yunjingtianhe2 天前
EL隐裂检测仪的优势—精准捕捉细微隐裂、微小断栅等隐蔽性极强的隐患
数码相机
PHOSKEY2 天前
3D工业相机如何“读透”每一个字符?快速识别、高精度3D测量
数码相机·3d
听风吹雨yu2 天前
STM32F407-LWIP-Onvif协议控制海康相机
stm32·嵌入式硬件·数码相机
光_辉3 天前
使用代码访问海康相机
数码相机
格林威3 天前
相机的“对焦”和“变焦”,这二者有什么区别?
开发语言·人工智能·数码相机·opencv·算法·计算机视觉·视觉检测
光_辉3 天前
关于相机拍照的一些说明
数码相机
光_辉3 天前
调用海康相机实现事件监测并拍照
数码相机
JMchen1233 天前
Android相机硬件抽象层(HAL)逆向工程:定制ROM的相机优化深度指南
android·开发语言·c++·python·数码相机·移动开发·android studio
psp之魂4 天前
Unity2d Cinemachine Confine 2d失效的问题
数码相机