2015-10-05 78 views
1

depth data referenceGoogle Project Tango深度数据的X,Y单位是什么?

随着横向的单元,屏面对用户:+ Z个摄像机的光轴的方向,并且垂直于摄像机的平面中测量。 + X指向用户的右侧,+ Y指向屏幕底部。原点是彩色相机的焦点中心。 输出单位为米。

注意值的单位显然是以米为单位。查看从Tango设备观察到的实际值,清楚地看到Z值(深度)以米为单位。

但是,X和Y值看起来不是以米为单位的。 x,y,z值的This spreadsheetanother显示了Tango点云的实际结果。我所见过的所有点云的最小/最大值似乎表示x,y的单位是弧度,因为值小于2,但可以大于1.

我的目标是转换观察点与真实世界坐标匹配姿态数据(用Java)。

x,y的单位是什么?

+2

所有深度云坐标(包括X和Y)均以米为单位。 X和Y的可能范围取决于Z的值:X必须满足abs(arctan(X/Z))≤= fovX/2(对于Y也是类似的)。如果Z较大,那么X和Y也可以更大并且满足这个关系。 – rhashimoto

+0

rhashimoto,如果你将你的评论移到答案我会接受它作为正确的答案,你会得到你应得的荣誉。 –

回答

1

深度云点的所有坐标元素 - X和Y以及Z - 都以米为单位。当然,任何三元组(X,Y,Z)必须位于深度相机的视场内。因此X和Y的允许范围取决于Z的值:X必须满足abs(arctan(X/Z)) <= fovX/2(对于Y也是如此)。

您在样本框架中观察到的X和Y范围不是角度弧度(或以任何方式归一化);由于场景的典型Z距离,它们只出现在该范围内。如果Z在不同的场景中恰好变大,那么X和Y也可以更大并满足视场关系。

0

据我所知,X和Y坐标是在相机空间。原点位于相机的中心。

X,Y本身没有单位,因为它们是相对于相机的框架。

电子表格中的数据似乎证实了这一点。 X和Y在-1.0和+1.0之间归一化。

如果您使用的是Unity样本,我建议您查看TangoPointCloud.OnTangoDepthAvailable,其中每个点都在世界空间中进行转换。

m_points[i] = unityWorldTDepthCamera.MultiplyPoint(new Vector3(x, y, z)); 

希望这会有所帮助。

+0

谢谢弗朗索瓦。我编辑了添加另一个显示较大值(1.7)的电子表格的问题。这对照相机框架还是有意义的吗?我还解释了目标并在电子表格中添加了关于正在观察的内容给您一些背景的评论。 –

相关问题