在不同的线程中运行MS Kinect Color,Skeleton和Depth流

时间:2012-11-06 14:50:08

标签: kinect

有人可以提供如何在不同线程中运行MS Kinect Color,Skeleton和Depth流的示例吗?我搜索过互联网但却找不到任何东西。提前致谢。

1 个答案:

答案 0 :(得分:2)

Microsoft Kinect Developer Toolkit中的KinectExplorer示例提供了一个KinectDepthViewer控件,该控件显示了如何在不同的线程中处理深度数据 - DepthColorizer类。这些概念也可以用于处理骨架数据。

你没有解释为什么你想在不同的线程上运行这些,所以不清楚为什么你需要这样做。所有数据都是在UI线程中从他们自己的进程中收集的。当你想在重要的UI线程上使用它们时......

颜色流只是一个RGB流。您可能需要对此图像进行一些处理(例如,蒙皮和面部跟踪),但通常不会像其他处理那样使用它。通常需要的唯一处理是将流中的位复制到用于显示的图像中,这必须在UI线程上完成。

如果您希望出于任何原因为深度流着色,那么在非UI线程上这样做是有益的。如果您正在对它进行一些特殊处理,那么也可以在非UI线程上完成。上面的示例代码可以很容易地进行调整。

骨架流已经需要CPU的最大努力,但所有这些努力已经完成,远离UI。一旦有机会触摸它,数据就只是一系列对象和数组。我现在无法真正看到你需要在一个单独的线程上做什么。

如果你解释你想要完成什么,那么对单独处理线程的需求可能会更加明确。