0

Kinect スケルトン トラック プログラムに関するプログラムを作成しています。その間にジェスチャーの定義をプログラムに記述します。ジェスチャーの定義をユーザーが定義できるようにしたい。これを行う 1 つの方法は、DFA を使用することです。C# の始め方がわかりません。誰でも助けることができますか?

4

1 に答える 1

0

Lists を使用してスケルトンのジョイント (一種のバッファー) の座標を保存すると、おそらく DFA を実行できます。トランジションをすべての方向の座標の範囲として定義できます。最終的な状態は、バッファー内の要素がほぼ同じ領域にあるときです。

したがって、C# では、ユーザーが追加したときに更新されるジェスチャのシーケンスを保存するデータ型を作成する必要があります。

ジェスチャを保存すると、コードは次のようになります。

  While(!Joint_stable && (i < buffer.count() ) )
{
 While ((buffer.Joint.ElementAt(i+1).X-buffer.Joint.ElementAt(i)).X>0 && (buffer.Joint.ElementAt(i+1)-buffer.Joint.ElementAt(i).Y )>0 ) //Think about adding tolerence here
 { 
Gesture.add("Upper_Right");
 }
 ...
}

アドバイスとしては、kinect センサーはそれほど正確ではないため、ある程度の許容範囲を確立するようにしてください。

私の答えがあなたに役立つか、少なくともインスピレーションを与えることを願っています:)

于 2013-04-01T13:46:41.570 に答える