忍者ブログ

遊び人の出没場

[Kinect] Kinectプログラミング覚書き

Kinectと聞くと、「モーションキャプチャ」が一般的なんじゃないかな。
体感型ゲームをプレイすることはもちろん、
実際の開発現場で使われているようなお高い機材や、
マーカー等の準備無しで、おうちで自キャラのモーションを作る事が可能に!!

最近、とあるバイトで、Kinect v1を貸してもらって、色々やっている。
といっても、「モーションキャプチャして3dモデルを躍らせる」とかではなくて、
「Kinectの深度情報を利用した人体感知処理」といったところか。

※というわけで「モーションキャプチャ」の記事ではないです、あしからずm(__)m



↑forWindows。パソコンに接続することで、実験や、ビルドが可能に。
こういう機械のプログラムを触るのは初めてなので意欲が沸きます。

Kinectにできることは、

・RGBカラー画像(実写画像)
・深度情報の取得
・人間の関節
・人体情報の取得
・音声認識
・音源位置の感知
等など。

人間(人体)を認識する処理を作ってみた。↓





最初は何も映っていない画像だが、






人体を認識すると表示する。

今映っている一枚の画像は、二次元配列で作成。
ピクセルごとに、カメラに映っている情報を取得して、描画してます。
(※深度情報の感知や、人体情報の取得自体はKinect内部の関数で出来る←!


深度情報を、1秒ごとにスクリーンショットで保存してみる。↓




検出した人の人数をtxtに出力※やり方が古典的(+_+) ↓






0=いない。1以上=人の数

プレイヤーインデックスを保持できる配列があり、
その中に1体以上検出したらカウントさせている。
(同時に6人まで検出できるぽい。


ここまでの処理は一見難しそうで簡単に出来てしまう。
Kinectってすごいな!!

深度情報で他になにが出来るのか興味が沸いてきた!(>_<)


応用すれば
大人か子供か。男か女か。ってのもわかりそうな気がする。

ではまた次回。





拍手

PR