为什么这个投影错了?

时间:2015-10-05 08:29:47

标签: 3d geometry computer-vision projective-geometry

我想弄清楚3D立方体为什么不在图像中的正确位置投影。

我从相机的原点开始,多维数据集以(0,0,1)

为中心

front

然后我围绕Y轴创建一个45度的3D旋转R

(0.707106781, 0, 0.707106781,
0, 1, 0,
-0.707106781, 0, 0.707106781)

我将相机设置为使用旋转R^-1,翻译为R * (0,0,1)(这些是相机进行世界变换)。相机应该在立方体周围旋转45度CCW(我可以确认我在x和z上有0.707106781平移。

此时,我希望看到具有相同比例的立方体,仍然居中,并且其中一条边正好位于图像的中间。但这就是我得到的:

side-45

我用来投影3d点X的过程是(伪代码):

  • 带入相机坐标:Xc = R^-1 * X - R^1 * translation
  • 转换为图像坐标:x = Xc * focal length / Xc.z + principal point

我从各种来源读过这个理论,似乎我遵守规则。

这只是人工数据,所以不确定焦距和主点是否会对它产生影响?我究竟做错了什么?为什么立方体不居中?

0 个答案:

没有答案