【问题标题】:simpleOpenNI multiple userssimpleOpenNI 多用户
【发布时间】:2015-08-02 13:16:44
【问题描述】:

我在 Kinect 中使用 simpleOpenNI。我有 5 种颜色的数组和一定数量的人(12-13 人)会一个个来到 kinect 面前。我需要将一种颜色与一个人联系起来。当颜色数组的索引到达 5 时,它将被重置为 0。我的问题是我不能做类似 'new user = index++' 之类的事情,因为每次一个人退出时,userId 似乎都不会改变kinect 空间,一个新的进入。 我的问题是我不知道何时/何地检测到新用户。

我认为我应该在这部分代码中做点什么,但不确定在哪里

void draw()
{
  // update the cam
  context.update();

  // draw depthImageMap
  image(context.rgbImage(),0,0,200, 200);

  // draw the skeleton if it's available
  int[] userList = context.getUsers();
  for(int i=0;i<userList.length;i++)
  {
    if(context.isTrackingSkeleton(userList[i]))
    {
      stroke(userClr[ (userList[i] - 1) % userClr.length ] );
      drawSkeleton(userList[i]);
      draw_line(xL, yL, oldXL, oldYL, xR, yR, oldXR, oldYR);
    }
  }

}

【问题讨论】:

    标签: processing kinect simple-openni


    【解决方案1】:

    OpenNI 中的自动场景分割很好,但并不完美。 有时您会注意到部分背景可能会与用户合并(如果背景很复杂),并且用户检测是一种估计:它可能无法跟踪用户正确进入/退出场景。

    即使只有一两个用户,您也会注意到进出场景的同一个人可能被分配了不同的用户 ID,最好自己管理用户。

    这可能不是微不足道的,但也许你可以试试OpenTSPS,因为它提供了一些这样的功能,而且它plays well with Processing

    【讨论】:

      猜你喜欢
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多