使用Kinect进行简单的运动跟踪(并保存坐标)

时间:2012-09-17 14:01:05

标签: kinect

我正在寻找一个简单的Kinect应用程序,它允许我a)检测和b)在静态背景中跟踪单个移动物体。

我不需要任何花哨的骨架或其他特征,只需移动物体的质心即可。 有什么指针吗?

2 个答案:

答案 0 :(得分:1)

我会看到Comparing a saved movement with other movement with Kinect跟踪整个身体。答案显示代码here,其中显示了如何保存骨架数据。如果你想跟踪关节而不是整个身体,那么mapping an ellipse to a joint in kinect sdk 1.5可以跟踪关节(当前效果更好,但是当跟踪整个身体时,使用它会因为它更有效和高效)。

答案 1 :(得分:0)

您的情况非常简单,但需要对对象进行初始化,因为通常术语“对象”定义不明确。它可以是最近的物体或移动物体,甚至是被触摸的物体,具有一定的颜色,大小或形状。

让我们假设您通过运动定义对象,即您的点云中的任何移动都是对象。我建议这样做:

  • 如果对象移动超过其大小,则对象检测很容易 然后你可以减去深度图并最终得到你的对象:
    depth1-depth2 > T但是如果物体移动缓慢并且只移动了一个 它的大小的一部分你必须使用任何高频信息 有,可以是深度或颜色或两者兼而有之。它会很吵,如下图所示

enter image description here

  • 一旦选择了对象,您可能希望通过运行一些morphological filters来清除它(侵蚀+ 膨胀)以消除噪音并获得单个斑点。在那之后你就是 需要在blob中找到一些特征,例如平均深度或平均值 颜色并在对象之前的小窗口中查找它们 位置,以重新发现对象;
  • 最后不要忘记在对象移动时更新这些功能 通过。

您可能想要使用的其他一些想法包括:深度渐变,深度连接组件,预先记录背景深度以进行更清晰的减法,在通过鼠标点击选择的深度区域上运行抓取切割等。