Kinect + OpenNIでプログラムを書きたい!という人のメモ(2)――ボーンが表示されないのはプログラムじゃなく、アホな私のせい…

昨日に続いて… 毎度あほなところでつまづきます(==)

漢字と遊びたくて、Play with Kanjiというプログラムを書いています。ばっかじゃないのw プと言われそうですが、でも、われわれの表意文字は生き物に見えて仕方なくて、↓な感じで一緒に遊びたかったんだ。

漢字と遊ぼう
http://akinote.com/projects/play-with-kanji/

Kinectと使うOpenNIの最新版(1.0.0.25)には、C#から使えるdllがついてきて、骨格検知のサンプルもついてます(^^) …が、無駄にはまりました。全然プログラミングじゃないところで。

サンプルの動かし方は、以下のエントリーを参考にどうぞ。先人の素晴らしいエントリーにちょっとだけ追記したのが一番最後の私のエントリーです。

KinectとC#で骨格情報を取得してみる - M-Tea
まとめ?ブログ Kinect 1 -OpenNI導入-
Kinect + OpenNI、C#でプログラムを書きたい!という人のためのメモ - aki note

で、で、で、だ。何につまづいたかというと、プログラムを起動して、ユーザーは一度ポーズをとって、キャリブレーションさせないといけないというところ。そんなことをいず知らず、Kinectの前で怪しく踊って踊って踊って、でも、「スケルトンのボーンがでない…なぜ!」となっていました。ずっと「Looking for pose」だなあ、何でだろう?と調べてみると、昨日読んだエントリーに書いてありました…。ちゃんと読まないと駄目ですね。

まとめ?ブログ Kinect 1 -OpenNI導入-

〜サンプルの動かし方〜
 このサンプルプログラムは,人を検出して骨格トラッキングを行います.
 まず,全身が映るように立ちます.
 すぐに認識されて人体部分に色が付き,“◯ - Looking for pose”と表示されます.
 次に,両腕を90°に曲げて顔の横に挙げます.
 この姿勢がトラッキングニュートラルポジションのようです.
 ニュートラルポジションをとると“◯ - Calibrating...”と表示が変わります.
 もう少し待っていると“◯ - Tracking”とボーンが表示され骨格トラッキングが開始されます.

そんなこんなです。

■ 余談

世の中はApple万世ですが、Microsoftの製品が好きです。いろいろGJなんだよ。さすがにIEは好きじゃないけれど、VSとか、XNAとか、とてもよくできているなと関心します。VSのばしばしばしーって書ける気持ちよさは半端ないです。iPhoneアプリiPadアプリの開発はまったく食指が動かないのですが(そもそも腕がもげそうな重さのコンピュータを持ち歩くだなんて!)、XNA, XBox, Kinectおもしろいですよね。物理エンジンまで使った日には神様になった気分。Windowsデスクトップアプリを作るのも楽しい。というわけで、MS大好きです。そういう日曜プログラマがいてもいいと思います。

ああ、でも、最近Chrome Extensionのおもしろさも味をしめつつあるかも。どれだけ今更…ですね(^^;