将 body 个索引点(深度 space)映射到颜色 space

Mapping body index points (depth space) to color space

我正在尝试从 body 索引框架中获取坐标并将它们映射到颜色 space 以查明它们是否位于某个颜色区域 space 内。

但是,CoordinateMapper.MapDepthPointToCameraSpace 方法(和相关方法)取决于实际深度数据 - body 索引框架不提供。

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

除了 body 索引框架之外,您肯定还需要深度框架。但它们是密切相关的:body 索引框架是基于深度框架的。除了接收 body 索引帧之外还接收深度帧不应增加任何开销,因为无论如何深度帧已经在内部计算了。

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

因此,要将来自 body 索引帧的像素 (1,1) 映射到颜色 space,您只需映射来自 body 索引帧的相同像素 (1,1)深度帧颜色 space.

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

您需要将 bodyindex/infrared/depth/ (512x424) 的分辨率校准为颜色分辨率 (1920x1080)。 我还不知道为 Kinect v2 执行此操作的正确方法(这个问题在 Kinect v1 中没有出现,因为分辨率相同),但从本质上讲,我认为你应该在颜色和 bodyindex 中映射一些点 space (1,1) 然后重新计算点在一个和其他 space 中应该是什么。我认为一个解决方案。

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

这样您就可以与 SDK 本身完美对齐。