PR

Kinectで得た人体情報を転送して、Windows Phoneの画面上に関節の位置を表示してみる

2012年10月9日(火)
薬師寺 国安

今回紹介するサンプルは、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:ClientsとHostsという2つフォルダが作成されている(クリックで拡大)

図1からHostsをダブルクリックして中を見ると、図2のようにConsoleHostとWindowsServiceという2つのフォルダがあります。

図2:ConsoleHostとWindowsServiceという2つのフォルダがある(クリックで拡大)

ConsoleHostフォルダ内のCoding4Fun.Kinect.KinectService.ConsoleHost.exe(図3)が、サンプルの配信用アプリケーションです。このアプリケーションをKinectが接続されているPC上で実行すると、IPアドレスが表示されます(図4)。もし、ファイアウォールの解除画面が出た場合は、許可してください。

図3:サンプルの配信用アプリケーションのCoding4Fun.Kinect.KinectService.ConsoleHost.exe(クリックで拡大)
図4:IPアドレスが表示されている(クリックで拡大)

これで、ホスト(配信側)の準備ができました。これ以後Windows Phoneをクライアントにした処理を書いていきます。実行画面は図5と動画を参照してください。

先にCoding4Fun.Kinect.KinectService.ConsoleHost.exeを実行して図4の画面を表示した後、Windows Phoneのデバッグを開始し、Address入力欄に図4の赤枠で囲まれているIPアドレスを入力して[OK]ボタンをクリックします。その後、Kinectセンサーから1mほどの距離でお試しください。あまり離れすぎると円がプレイヤーの関節の位置にうまく納まりませんので、注意してください。

関節の位置を取得して表示していますので、Windows Phone上のゲームでアバターをコントロールするなど、面白い使い方が考えられます。また、医療的な利用方法もあるのではないでしょうか?

今回はWindows Phoneのエミュレーターでしか動作の確認を行っていません。もちろん実機にデプロイして動作の確認は可能です。ただし、実機では処理が重く、動作がスローになってしまいます。これを解消する方法はありますが、画質が落ちるため、今回は紹介しておりません。機会があれば紹介したいと思います。

図5:Windows Phone上で人物の関節の位置に円が表示されている

サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。

Think IT会員限定特典
  • 人間の関節情報をWindows Phoneに表示するサンプルプログラム

薬師寺国安事務所

薬師寺国安事務所代表。Visual Basic プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット PROJECT KySS を結成。2003年よりフリーになり、PROJECT KySS の活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。Windows Phoneアプリ開発を経て、現在はWindows ストア アプリを多数公開中

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています