【发布时间】:2024-01-21 08:28:01
【问题描述】:
我有一个从世界坐标系 1 到 2 的相似变换 S。我还有一组 3D 点 x_i 和投影矩阵 P_j 世界坐标系 1 或 2 中的(3x4 或 4x4)相机。
我现在想将系统 1 中的相机(投影矩阵)转换为系统 2。
转换 3D 点按预期工作,但我将如何处理投影矩阵?
我的方法如下:
S = [Ss*SR | St]
P = [R | t]
反转投影矩阵:
PP = inv(P) = [R.T | -R.T*t] = [RR | tt]
旋转相机的方向:
RR' = SR * RR
缩放、旋转和平移位置:
tt' = Ss*SR*tt + St
PP' = [RR' | tt']
对变换后的矩阵求逆,再次得到投影矩阵:
P' = inv(PP')
其中 P 和 P' 分别是系统 1 和 2 中的投影矩阵。
【问题讨论】:
-
请检查您的问题。你说你有“世界坐标系 1 和 2 中的投影矩阵 P_j ..”。然后你说“我现在想将......投影矩阵从系统 1 转换为系统 2。”如果两者都有,则无需转换。
-
@Gene 措辞不明确。我相应地改变了我的问题。
-
我会说这个问题属于math.stackexchange.com
-
downvote 请解释一下。
-
这是一个合理的 OpenGL 编程问题。我投了赞成票。
标签: opengl opencv camera computer-vision transformation