Kinectで得た人体情報を転送して、Windows Phoneの画面上に関節の位置を表示してみる
今回紹介するサンプルは、Coding4Fun Kinect Serviceを使ったサンプルの紹介です。
Coding4Fun Kinect Serviceは KinectのRGBカメラ、距離カメラ、スケルトン、およびオーディオを、1 つの PC から別の PC 、または、Windows Phone へ、TPC経由でネットワーク配信できるライブラリです。サーバーとクライアントライブラリの両方のデータを送受信に使用できます。
Coding4Fun Kinect Serviceは下記のURLよりダウンロードできます。
→ Coding4Fun Kinect Service
ダウンロードしたkinectservice.zipを適当なフォルダに解凍し、KinectService\Samplesフォルダの中を見ると、図1のようにClientsとHostsという2つフォルダが作成されています。
図1からHostsをダブルクリックして中を見ると、図2のようにConsoleHostとWindowsServiceという2つのフォルダがあります。
ConsoleHostフォルダ内のCoding4Fun.Kinect.KinectService.ConsoleHost.exe(図3)が、サンプルの配信用アプリケーションです。このアプリケーションをKinectが接続されているPC上で実行すると、IPアドレスが表示されます(図4)。もし、ファイアウォールの解除画面が出た場合は、許可してください。
これで、ホスト(配信側)の準備ができました。これ以後Windows Phoneをクライアントにした処理を書いていきます。実行画面は図5と動画を参照してください。
先にCoding4Fun.Kinect.KinectService.ConsoleHost.exeを実行して図4の画面を表示した後、Windows Phoneのデバッグを開始し、Address入力欄に図4の赤枠で囲まれているIPアドレスを入力して[OK]ボタンをクリックします。その後、Kinectセンサーから1mほどの距離でお試しください。あまり離れすぎると円がプレイヤーの関節の位置にうまく納まりませんので、注意してください。
関節の位置を取得して表示していますので、Windows Phone上のゲームでアバターをコントロールするなど、面白い使い方が考えられます。また、医療的な利用方法もあるのではないでしょうか?
今回はWindows Phoneのエミュレーターでしか動作の確認を行っていません。もちろん実機にデプロイして動作の確認は可能です。ただし、実機では処理が重く、動作がスローになってしまいます。これを解消する方法はありますが、画質が落ちるため、今回は紹介しておりません。機会があれば紹介したいと思います。
サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。
人間の関節情報をWindows Phoneに表示するサンプルプログラム
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows Phoneで自宅の様子をリモート監視するKinectプログラムを作ってみる
- Kinectで手の動きに合わせてモニタ上の画像を動かすサンプル
- Kinectで人体を認識して棒人間を動かすサンプル
- 声で選んだアイテムをプレイヤーの身体に装着・連動させるKinectサンプル
- Kinectで手の動きとカーソルを連動して操作するサンプル
- Kinectを使ったバーチャル試着室で着せ替えシミュレーション
- Kinect v2で実現する打楽器のバーチャル演奏
- Kinect v2を使って、机の上のリンゴをつかんで移動してみる
- センサーとサウンドの処理を組み込んでアプリを完成させる
- Kinectを使って、自分の手のひらに小さな分身を出現させてみる