从世界坐标系>>到相机坐标系>>图像坐标系的过程
三者的详情转换过程如下图所示,通过三步变换。
1. 世界坐标系通过外参矩阵转换到相机坐标系
空间中一点的世界坐标系,当把它转换到相机坐标系的时候,先把它加一维用齐次坐标来表示它(这样就方便对它本身进行平移操作,为0时为向量)。通过座乘摄像机的外参矩阵,从世界纵坐标系转换到相机坐标系。
注:这样是为了在相机坐标中表示真实世界坐标的一点。
其中, [Xc,Yc,Zc]T表示相机坐标,[Xw,Yw,Zw,1]T表示归物体所在的世界坐标。R表示旋转矩阵,T表示平移矩阵。
2、相机坐标系通过内参矩阵转换到图像物理坐标系
相机坐标系通过焦距对角矩阵和畸变系数转换到图像物理坐标系,这里使用了透视投影的原理进行推导,其实就是相似三角形的原理。
f表示焦距。[Xc,Yc,Zc]T表示相机坐标。[x,y,1]T表示归一化后的图像物理坐标,这里的Zc可理解为深度信息。
3. 图像物理坐标系通过像素转换矩阵转换到像素坐标系中
这一步是在同一个平面上做的,只不过先换了表示单位,又换了坐标原点的位置。其中uv为像素平面坐标,xy为物理图像坐标系。
像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点通常情况下是成像平面的中点,单位是mm,属于物理单位。而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这二者之间的转换如下:其中dx和dy表示每一列和每一行分别代表多少mm,即1pixel=dx mm 。
因为是物理图像往像素坐标做转换,因此换算单位为1mm = 1/dx pixel, 则物理图像坐标(x mm,y mm)转换到像素坐标为(x/dx,y/dy),最后加上两坐标系原点偏移的坐标。
dx和dy表示:x方向和y方向的一个像素分别占多少个(可是小数)长度单位。u0,v0表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数。
转换的总公式
参考博客:
https://blog.csdn.net/qq_28448117/article/details/79526431
https://blog.csdn.net/wangxiaokun671903/article/details/37966891
https://blog.csdn.net/wangxiaokun671903/article/details/37935113
https://blog.csdn.net/wangxiaokun671903/article/details/37935113