0

我即将开始 Kinect 开发,希望有人能深入了解以下内容。

我希望在天花板上安装 kinect,就在投影仪下方。投影仪将显示一个有一些鱼的池塘(类似于 Microsoft Windows 7 Touch pack)。

然后我希望能检测到人们进出投影的运动,并添加涟漪或移动鱼等。

我不需要跟踪人们的形状,只需知道他们是否在框架中以及他们在哪里。事实上,如果有人把足球滚过,我也很乐意追踪它。

在接下来的几天里,我将为自己准备一台 Kinect,但如果有人知道这是不可能的,请告诉我。如果有可能,那么任何让我开始的指针都会很棒。

谢谢,帕特里克。

4

2 回答 2

1

在开始之前,您需要决定使用哪个软件来访问 Kinect。两个最受欢迎的选择是:

还有libfreenect,但它只提供原始深度数据,在我看来,它比上述两个更难使用。

Kinect for Windows SDK 和 OpenNI 都提供骨骼跟踪,这是一种非常方便的方法来详细检测用户的位置及其身体部位。然而,在您的项目中,骨骼跟踪很可能无法正常工作,因为 Kinect 安装在天花板上并指向下方。所提供的跟踪算法在直接面对用户时效果最佳,并且如果大部分身体是可见的(除了 f

对于您的项目,您可能根本不需要骨架跟踪(它可以在 Kinect for Windows SDK/OpenNI 中停用)。我能想到的一种方法是:

  1. 在应用程序开始时,通过测量从 Kinect 到您将投影图像的表面的距离来校准您的软件。
  2. 对于您从 Kinect 接收到的每个新深度帧,您检查当前帧和校准帧之间的差异。如果当前帧中有一大块像素比校准帧更靠近传感器,您可以假设它是一个对象。

当然,Kinect 的深度测量并不完美。您必须提供某种纠错功能以过滤掉误报。

Using this approach, you will be able to detect most objects sitting on or moving over the surface.

于 2012-06-12T06:36:44.970 回答
0

I would rather put the sensor on one of the walls, close to the ceiling, instead of on the ceiling pointing directly downwards, this way you will have a better field of view, and you can still use skeleton/user tracking algorithms.

Note that the sensor have a minimum distance of ~50cm so if you have a low ceiling you might encounter problems with people straight under the sensor.

If you use OpenNI you can use Nite's SceneAnalysis, which tracks people, and you can get their center of mass easily.

于 2012-06-12T07:13:40.663 回答