没有内在相机矩阵的反投影
Deprojection without Intrinsic Camera Matrix
我正在尝试验证将像素点 (u,v) 反投影到 3D 世界位置 (x,y,z) 的解决方案,除了 (u,v) 之外,仅使用相机的外部旋转和平移.
The proposed solution
我在 Unreal 中对问题进行了建模,其中我有一个具有世界位置 (1077,1133,450) 和旋转 yaw=90,pitch=345,roll=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) 作为投影世界坐标,这显然是错误的。我的矩阵之一计算不正确吗?如果不是,提供的方法是否有缺陷/不完整?
link 中提出的解决方案似乎并不准确,因为反投影需要固有相机矩阵。
我正在尝试验证将像素点 (u,v) 反投影到 3D 世界位置 (x,y,z) 的解决方案,除了 (u,v) 之外,仅使用相机的外部旋转和平移.
The proposed solution
我在 Unreal 中对问题进行了建模,其中我有一个具有世界位置 (1077,1133,450) 和旋转 yaw=90,pitch=345,roll=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) 作为投影世界坐标,这显然是错误的。我的矩阵之一计算不正确吗?如果不是,提供的方法是否有缺陷/不完整?
link 中提出的解决方案似乎并不准确,因为反投影需要固有相机矩阵。