CV坐标系与计算机图形学坐标系的转换

时间:2024-03-15 16:09:48

CV坐标系与计算机图形学坐标系的转换

CV与CG领域由于实际应用上的不同,他们的物方到像方的转换方式也有不同,例如,CV与CG领域都使用P矩阵实现物方到像方的映射,然而两者的P矩阵是不能通用的,但它们都遵循坐标系转换的规律,只是其中存在许多需要注意的问题。

CV的P矩阵

cv中的
P = K[R|t]
t = -RC
K是内参矩阵f,0,x0,0,f,y0,0,0,1
C是相机在世界系下的坐标
R是物方到像方的旋转矩阵

物方到像方的映射:
x = P*X
x[0]/=x[2]
x[1]/=x[2]

只要弄清楚,K,R,C的意义,就能实现CG到CV的转换

相机坐标系

CV的相机坐标系朝向是x朝右,y朝下,原点在左上角。
CG的相机坐标系朝向是x朝右,y朝上,原点在左下角。

因此,CG到CV的转换时,R矩阵要乘以一个变换矩阵来抵消这一不同

Rcv = Rcg*
【1,0,0】
【0,-1,0】
【0,0,-1】

即:
CV坐标系与计算机图形学坐标系的转换
Rcg矩阵转换后为Rcv,再乘以Ccg,得到tcv。
Kcv矩阵中的x0,y0为图像大小的一半(无畸变)
f = f_lengh/senor_size_w * width
最终得到Pcv = Kcv[Rcv|tcv]