【问题标题】:simple movement tracking (& saving of coordinates) with Kinect使用 Kinect 进行简单的运动跟踪(和坐标保存)
【发布时间】:2012-09-17 14:01:04
【问题描述】:

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

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

【问题讨论】:

    标签: kinect


    【解决方案1】:

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

    【讨论】:

    • 它的 c#,使用 kinect sdk 从 msdn 下载 cisual c# 2010
    • @memyself 也解决了你的问题,点击我的 amswer 旁边的绿色小复选标记
    【解决方案2】:

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

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

    • 如果对象的移动大于其大小,则对象检测很容易,因为
      那么您只需减去深度图并最终得到您的对象:
      depth1-depth2 > T 但如果对象移动缓慢并且仅移动一个 您必须使用任何高频信息 有,可以是深度或颜色或两者兼而有之。如下图所示会很吵

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

    您可能想要使用的其他一些想法是:深度渐变、深度连接组件、预先记录背景深度以进行更清晰的减法、在鼠标单击选择的深度区域上运行 grabCut 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多