相机标定(几何意义上的坐标系的转化)

**

相机标定(几何意义上的坐标系的转化)

**
一、摄像机坐标系到像素坐标系的转化
三、世界坐标系到摄像机坐标系的转化
相机标定主要是求世界坐标系到像素坐标的之间的关系。
其中两种转化关系分别为相机的内参外参。

矩阵乘法就是对空间上基向量进行转化
(说的可能不够严谨)。几何上面需要一点想象,这边的图片来源于网上,有的图片选取的不是很好,动态图的制作太耗时间,暂时没做,可以先去理解线性代数的几何意义)

一、摄像机坐标系到图像坐标系到像素坐标系的转化(内参矩阵)

内参矩阵是将3D相机坐标变换到2D齐次图像坐标。类似于小孔成像模型,网上的图,这里采用几何上的直观解释。
在这里插入图片描述
相机的坐标系与图像坐标系不是完全平行(坐标系对应的轴的倾斜),有倾斜,所以需要做一个类似的剪切(Shear)变换,就是将之前的平面的矩形压缩成平行四边形(右边的矩阵就是将y方向的基向量进行了偏移)
然后进行一个缩放(Scaling)(焦距),使得相机坐标系下描述的三个线性无关的基向量Xc-Yc-Zc的单位与像素坐标系的一致
然后由于主点的偏移(相机的主轴垂直且穿过图像平面的焦点称为主点),进行平移变换(Translation)
(以上全部是进行的2D平面的变换)
变换左称操作,这与我们所学的函数类似g(f(x)),矩阵的乘积与计算与函数计算类似,我们现在得到了我们的内参矩阵。内参矩阵可有Matlab或者0pencv标定得出。
【 内参矩阵K,2D Translation, 2DScaling,2DShear】
在这里插入图片描述

二、世界坐标系到相机坐标系的转化(外参矩阵)

相机标定需要通过拍摄标定板来进行标定,标定板的三维坐标已经确定,标定会选取标定板的边角点的某个点来作为世界坐标系的原点即(0,0),因为标定的每个格子的大小确定,所以也就能知道各个角点的坐标,所以整个标定板所在平面的三维坐标是确定的,建立如下的坐标系。z垂直于x,y所在的平面向上。
在这里插入图片描述
相机坐标系是以相机的光心作为原点,垂直于光心的方向作为Z轴的方向。世界坐标系到相机坐标系只进行了旋转与平移,没有进行伸缩变换,对空间没有进行挤压
在这里插入图片描述
首先世界坐标系绕着X轴旋转得到r1,类似于下面的公式,绕x旋转,就是X轴不变,还是原来的基向量的坐标[1,0,0],y和z的基向量进行旋转构成了新的三个正交基向量,然后绕Y,绕Z旋转,使得世界坐标系经过旋转变换得到的正交基与相机坐标系正交基指向是相同的,然后进行X,Y,Z方向的平移,把世界坐标系的原点移动到与相机坐标系的原点重合,因为之前进行了旋转,所以,整个坐标系是重合的,也就是得到R和T对空间上进行了转化,这个得到的就是我们的外参矩阵
在这里插入图片描述
整个过程就是之前的三个基向量转化为另外的三个基向量,然后进行平移。
进行的变换即外参矩阵为RzRyRx+T,学成齐次的形式:
在这里插入图片描述
所以整个相机标定的转化为:
标定板(世界坐标系)转化到相机坐标系(外参矩阵),相机坐标系到像素坐标系(内参矩阵),相机的内参,外参均可由Matlab或者opencv标定得出。所以
像素坐标=相机的内参矩阵X外参矩阵X世界坐标
所以当已知像素坐标,我们通过取逆矩阵即可。
在这里插入图片描述
备注:单位四元数可以表示三维空间的旋转。四元素从4维看3维,看书还没有怎么理解透。
后期来写一个大概的相机标定的实现,以及利用内参,外参,通过像素坐标得到世界坐标。
如有侵权,联系删除,内容来源于网络+自己的理解
参考资料:https://blog.csdn.net/onthewaysuccess/article/details/40709947

猜你喜欢

转载自blog.csdn.net/qq_42422098/article/details/108469869
今日推荐