0

Kinect で simpleOpenNI を使用しています。私は5色の配列と、kinectの前に1人ずつ来る特定の人数(12〜13人)を持っています。1 つの色を 1 人の人物に関連付ける必要があります。色の配列のインデックスが 5 になると、それは 0 にリセットされます。私の問題は、「新しいユーザー = インデックス ++」のようなことを行うことができないことです。私の問題は、新しいユーザーがいつ/どこで検出されるのかがわからないことです。

コードのこの部分で何かをする必要があると思いますが、どこにあるのかわかりません

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);
    }
  }

}
4

1 に答える 1

1

OpenNI の自動シーン セグメンテーションは優れていますが、完全ではありません。背景の一部がユーザーと融合する場合があり (背景が複雑な場合)、ユーザーの検出は推定であり、シーンに出入りするユーザーを正しく追跡できない場合があります。

ユーザーが 1 人または 2 人いる場合でも、シーンを出入りする同じ人物に別のユーザー ID が割り当てられる場合があることに気付くでしょう。最善の方法は、ユーザーを自分で管理することです。

これは些細なことではないかもしれませんが、 OpenTSPSはこの機能の一部を提供し、Processing とうまく連携するため、おそらくOpenTSPSを試すことができます。

OpenTSPS 人物イベント

OpenTSPS の基本

OpenTSPS アドバンスト

于 2015-08-03T09:49:49.837 に答える