我正在尝试验证一种解决方案,除了(u,v)外,仅使用摄像机的外部旋转和平移将像素点(u,v)投影到3D世界位置(x,y,z)。
我已经在虚幻中对问题进行了建模,在那里我有一个虚拟相机,其世界位置(1077,1133,450)且旋转偏航= 90,俯仰= 345,侧倾= 0度。我有一个1280x720摄像机在像素位置(771,426)或帧中心位置(131,-66)看到的已知3D位置(923,2500,0)的对象。
我的旋转矩阵的转置为:
[[ 5.91458986e-17 9.65925826e-01 -0.00000000e+00]
[-1.00000000e+00 6.12323400e-17 0.00000000e+00]
[-1.58480958e-17 -2.58819045e-01 9.65925826e-01]]
我的Tx_Ty_Tz矩阵是:
[[-1094.39396119]
[ 1077. ]
[ -141.42464373]]
我的dx_dy_dz矩阵是
[[ -63.75110454]
[-131. ]
[ 18.0479828 ]]
最后我将位置(-1593,50,0)作为已投影的世界坐标,这显然是错误的。我的矩阵之一计算不正确吗?如果不是,提供的方法是否有缺陷/不完整?
答案 0 :(得分:0)
该链接中提出的解决方案似乎不准确,因为需要使用固有相机矩阵进行投影。