0

(素晴らしい) WiiYourself を使用して、Wii リモコンでジェスチャー認識に取り組んでいます。図書館。すべてが C++ (Visual Studio 2010) で開発されています。

Wiimote の動きの加速度ベクトル (大きさと角度の両方) を処理しようとしています。個人が振ったとき、どの方向に、どのくらいの力で振っているのかを知りたいです。

問題は 2 つあります。

  1. リモコンの停止による減速ではなく、WiiMote の初期加速の値を処理できる必要があります。

  2. リモートからの加速度データの絶え間ないストリームを管理して、有用な情報を得るにはどうすればよいですか?

これはより論理的な問題だと認識していますが、物事をまとめるのに苦労しています。

4

2 に答える 2

0

手始めに、さまざまな軸から一連のサンプルをキャプチャしようとするかもしれません。ベクトルの大きさやベクトルの合計などの関数を作成して、それらすべてをプロットするかもしれません。値が信号としてどのように動作するかを確認します。

観察したい動きがどのように見えるかを値で見ることができるかもしれません。

于 2012-02-21T09:11:01.447 に答える
0

これを行うには、「完璧な」スイングを記録し、内部でデータをプロットしてから、そのデータをアプリケーション内のリソースに保存し、アプリケーション内で時間の経過に伴う動きをマップしてから、ベクトル比較を使用して 2 つを比較します。内部に保存されたモーションごとに最後の X 秒間の動きを記録し、無効な動きにはカットオフ値を使用します。そして、スコアが最も近い人がマークを取得します。

成功したモーションが検出されたら、その期間を「使用済み」としてマークし、それ以上のスコアリングには適用しないようにする必要があります (これは、コントローラーの 1 つのモーションで複数のモーションが選択されるのを防ぐためです)。

比較は、時間の経過に伴う主要な場所でのポイントの平均差を見つけることによって行うことができます。すなわち。5 ミリ秒間隔で各ポイントを確認し、3 つの加速度ベクトルの差を求めます。これらの差の合計の平均がスコアになります。スコアが最も低いジェスチャがベスト マッチです。

于 2012-08-12T12:39:35.147 に答える