将体索引点(深度空间)映射到颜色空间

时间:2016-06-02 13:22:25

标签: c# .net kinect

我试图从身体索引框架中获取坐标并将它们映射到颜色空间,以确定它们是否位于某个颜色空间区域内。

然而,CoordinateMapper.MapDepthPointToCameraSpace方法(和相关方法)依赖于实际深度数据 - 身体索引框架不提供。

API在这里提供了什么解决方案?

2 个答案:

答案 0 :(得分:1)

除了身体索引框架之外,你肯定需要深度框架。但它们密切相关:身体索引框架基于深度框架。除了正文索引帧之外,接收深度帧不应该增加任何开销,因为深度帧在内部已经计算完毕。

它们之间的映射也很容易:身体索引帧中的每个像素直接对应于深度帧中的相同像素。

因此,将像素(1,1)从身体索引帧映射到颜色空间,只需将相同的像素(1,1)从深度帧映射到颜色空间。

答案 1 :(得分:0)

HenningJ已经给你答案了。你实际上并不需要深度框架,因为这是一个解决问题。

您需要的是将bodyindex / infrared / depth /(512x424)的分辨率校准为颜色分辨率(1920x1080)。 我还不知道为Kinect v2做到这一点的正确方法(这个问题在Kinect v1中没有发生,因为分辨率相同),但是我认为你应该在color和bodyindex space(1,1)然后重新计算该点应该在一个空间和其他空间中。我认为一个解决方案。

完美的解决方案是保存这些信息 - https://msdn.microsoft.com/en-us/library/windowspreview.kinect.coordinatemapper.mapdepthframetocolorspace.aspx

通过这种方式,您可以从SDK本身获得完美的对齐方式。