ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

OpenNI2入門

NiTE2(Beta) 入門(5) :手を追跡する

NiTE(Beta)入門の最後として、手の追跡を行います。コードは前回の続きです。ジェスチャーを検出したときに、その時の手の位置を合わせて取得することができます。その位置を起点に手を追跡させます。今回は、その位置をいくつか保存しておき、手の軌跡を表…

NiTE2(Beta) 入門(3) :ポーズを検出する

NiTEの特長の一つである、ポーズの検出をやってみます。検出できるポーズは nite::PoseType に定義されており、現在のところPOSE_PSIとPOSE_CROSSED_HANDSの二つです。Psiは、OpenNI初期のスケルトン認識にも利用されていた、上の画像のようなポーズです。Cr…

NiTE2(Beta) 入門(4) :ジェスチャーを検出する

全バージョンからNiTEの特長であったジェスチャーの検出をやってみます。ジェスチャーの検出はnite::HandTrackerが行います。検出できるジェスチャーはnite::GestureTypeに定義されており、現在のところGESTURE_WAVE、GESTURE_CLICK、GESTURE_HAND_RAISEの3…

NiTE2(Beta) 入門(1) :ユーザーを追跡する

ここからはNiTE2(Beta)を使ってみます。OpenNI v1.xとは異なり、ユーザー追跡やスケルトン追跡は完全にNiTEから制御するようになっているようです。そのほかジェスチャー認識、ポーズ認識、手の追跡を行うことができます。ただし、ジェスチャー認識はClick、…

NiTE2(Beta) 入門(2) :スケルトンを追跡する

続いてスケルトンの追跡です。 スケルトンもKinect SDKっぽくなっています。ユーザーの認識から追跡を手動で開始させるのは相変わらずですが。

OpenNI2(Beta) 入門(6) :デバイスの挿抜を認識する

これも Kinect for Windows SDK にあって、OpenNIになかった機能です。 実行中にデバイスが刺されたり、抜かれたりを検出できるようになりました。ビジネスアプリケーションとして、使う場合、この機能はほぼ必須なのでありがたいです。 #include <Windows.h> #include <conio.h></conio.h></windows.h>…

OpenNI2(Beta) 入門(7) :データの記録と再生

OpenNIの特長的な機能である、データの記録と再生も大幅に使いやすくなっていました。 プログラム的にデータの入出力ができるので、Kinectを使う場合はKinect Studioと用途に合わせて使い分けができますね。

OpenNI2(Beta) 入門(3) :Depthカメラの距離データを使ってみる

Depthカメラからの距離データを使ってみます。グレースケール画像化と、中心点の距離を表示してみます。

OpenNI2(Beta) 入門(2) :DepthカメラのIR画像を表示する

続いて、DepthカメラのIR画像を表示します。 基本的なコードはOpenNI2(Beta) 入門(1) :Colorカメラの画像を表示すると同じです。

OpenNI2(Beta) 入門(4) :接続されているデバイスを列挙する

OpenNI2 には Kinect for Windows SDK のように、接続されているデバイスを列挙するAPIが追加されました。

OpenNI2(Beta) 入門(5) :接続されているデバイスをすべて利用する

前回のOpenNI2(Beta) 入門(4) :接続されているデバイスを列挙するでコンピューターに接続されているすべてのデバイスを列挙できました。今回は、この接続情報から、デバイスを起動する方法を載せます。

OpenNI2(Beta) 入門(1) :Colorカメラの画像を表示する

さっそくいじってみます。 環境は次の通りです Windows 8 64bit OpenNI2(Beta) 32bit版 Kinect for Windows または Xtion Visual C++ Express 2010 とりあえずコンソールアプリでプロジェクトを作ります。OpenNI2(Beta) をインストールすると、ヘッダーパス(…