1

私は現在、Kinect SDKを使用してC#でジェスチャ認識を開発しています。これまでのところ、ジェスチャ認識が瞬時に行われることが唯一の問題です。

例:messageBoxを使用して、手を頭上に上げるとアナウンスします。手を2秒間保持すると、ジェスチャをアナウンスする数十のmessageBoxが開きます。

これを止める方法はありますか?

4

3 に答える 3

3

ダレンは真実を言います。停止メカニズムを実装する必要があります。Kinectはすべてをリアルタイムで分析しているので、手が上にあるときはそこにあるまでそこにあります:)つまり、アクションがトリガーされるたびに。Atulsが言ったようにするか、私が好きなようにしてください。私はブールフラグを作成することを好みます。デフォルト値はfalseです。アクションがトリガーされると、trueに設定し、t trigger the action again until the flag is false. In your example I would set it to true when I raise my hand above the head and set it to false when I have my hand below my head. That way I必要になるたびに1回だけアクションをトリガーします。

于 2012-05-08T06:37:51.927 に答える
1

手が頭の上にある場合は、単にイベントをトリガーしていると思います。これだけでは不十分です。

ジェスチャが認識されたらメッセージボックスを1回トリガーし、アルゴリズムをチェックしているメカニズムをリセットします。手が頭の下に移動するたびに、ジェスチャチェックを再開する必要があります。これをどのように行うかは、ジェスチャ認識をどのように実装したかによって異なります。

于 2012-05-07T21:50:37.543 に答える
1

実装されているMinimumPeriodBetweenGesturesを@KinectToolboxで確認できます。同様に、要件に従って基準を定義できます。

于 2012-05-07T22:29:04.353 に答える