无内在相机矩阵的投影 [英] Deprojection without Intrinsic Camera Matrix
问题描述
我正在尝试验证一种解决方案,除了(u,v)外,仅使用摄像机的外部旋转和平移将像素点(u,v)投影到3D世界位置(x,y,z).
I am trying to verify a solution to deprojecting a pixel point (u,v) into a 3D world location (x,y,z) using only the camera's extrinsic rotation and translation in addition to (u,v).
我已经在虚幻中对问题进行了建模,在那里我有一个虚拟相机,其世界位置(1077,1133,450)且旋转偏航= 90,俯仰= 345,侧倾= 0度.我有一个1280x720摄像机在像素位置(771,426)或帧中心位置(131,-66)看到的已知3D位置(923,2500,0)的对象.
I have modeled the problem in Unreal, where I have a virtual camera with world position (1077,1133,450) and rotation yaw=90, pitch=345, roll=0 degrees. I have an object of known 3D position (923,2500,0) seen by the 1280x720 camera at pixel location (771,426) or frame center position (131,-66).
我的旋转矩阵的转置为:
The transpose of my rotation matrix is:
[[ 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矩阵是:
My Tx_Ty_Tz matrix is:
[[-1094.39396119]
[ 1077. ]
[ -141.42464373]]
我的dx_dy_dz矩阵是
My dx_dy_dz matrix is
[[ -63.75110454]
[-131. ]
[ 18.0479828 ]]
最后我将位置(-1593,50,0)作为已投影的世界坐标,这显然是错误的.我的矩阵之一计算不正确吗?如果不是,提供的方法是否有缺陷/不完整?
And I end up with location (-1593,50,0) as the deprojected world coordinate, which is clearly wrong. Is one of my matrices incorrectly calculated? If not, is the method provided flawed / incomplete?
推荐答案
该链接中提出的解决方案似乎并不准确,因为投影需要使用固有相机矩阵.
The proposed solution in the link does not appear to be accurate as the intrinsic camera matrix should be required for deprojection.
这篇关于无内在相机矩阵的投影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!