以下的原理就是世界坐标转平面图像坐标,平面图像坐标转世界坐标的流程就是以下的反向推导。
世界的坐标乘以旋转平移矩阵就可以计算出对应的相机坐标点,推导的原理可以参见《自动驾驶AVM环视算法原理–鱼眼坐标转世界坐标》
得到的相机坐标就可以根据小孔成像的原理就算出对应的平面图像上的坐标
1、平面相机的成像和坐标系如下所示
说明
1、f(ud,vd)就是以图像中心为原点坐标(和p(x,y)坐标相对,就是坐表原点不同)。
2、p(x,y)就是在图像坐标系下的坐标点,坐标点的为图像的左上角点,这个和世界图像的保存数据的坐标一直。
3、假设xy坐标系的原点是uv坐标系的中点,相对的偏移量为cx和cy,就可以得出ud=x+cx,vd=y+cy。
4、P(Xc,Yc,Zc)就是相机坐标系下的坐标。
根据相似的三角形可以得出
AB/COuv=AOc/OcOuv=PB/pC=Xc/ud=Zc/f=Yc/vd
得出
Xc/ud=Zc/fx
Yc/vd=Zc/fy
得出
ud=fx(Xc/Zc)
vd=fy(Yc/Zc)
得出
x=fx(Xc/Zc)-cx
y=fy(Yc/Zc)-cy