C# 基于Unity/C中的ColorSpacePoint获取Kinect深度信息#

C# 基于Unity/C中的ColorSpacePoint获取Kinect深度信息#,c#,unity3d,C#,Unity3d,问题:我们将Kinect v2.0与C#一起在Unity 4中使用。我试图追踪用户将戴的红色手套。问题是背景中的红色有时会被拾取 假设解决方案:我们需要能够查看红色斑点数据,并检查该对象是否在用户后面,以便我们可以忽略它。例如,获取一个ColorSpacePoint并返回我可以用来确定该部分图像离相机(z坐标)有多远的内容 我们的C#代码现在是如何工作的:使用ColorFrameReader我得到了框架。我通过CopyConvertedFrameDataToArray从ColorImageFor

问题:我们将Kinect v2.0与C#一起在Unity 4中使用。我试图追踪用户将戴的红色手套。问题是背景中的红色有时会被拾取

假设解决方案:我们需要能够查看红色斑点数据,并检查该对象是否在用户后面,以便我们可以忽略它。例如,获取一个ColorSpacePoint并返回我可以用来确定该部分图像离相机(z坐标)有多远的内容

我们的C#代码现在是如何工作的:使用ColorFrameReader我得到了框架。我通过CopyConvertedFrameDataToArray从ColorImageFormat.Rgba创建位图图像。然后,我使用BlobCounterBase和欧几里德颜色过滤来获得特定大小的红色斑点

我是如何解决这个问题的:有时会有一些误报需要消除。他们经常处于幕后。我想查看每个blob,并确定其深度是否超过用户。如果是这样,忽略它

当我有像素数据时,我可以通过获取左侧的CameraSpacePoint并使用CoordinateMapper将CameraPoint映射到颜色空间来检查它是否靠近身体的某个部位。这给了我用户手中心的像素

我需要得到一个像素的深度读数。我尝试使用MapColorFrameToDepthSpace,但是,除非我遗漏了什么,否则该函数不会这样做。

检查 你可以从这里得到一个想法,这是Kinect的背景删除代码。如何忽略不是播放器的所有内容,只使用相关像素进行进一步的图像处理。

您必须(提供链接的上下文)[即使没有链接,您的答案仍然应该清晰。