読者です 読者をやめる 読者になる 読者になる

Natural Software

KinectなどのDepthセンサーを中心に活動しています

SoftKinetic の DepthSenseSDK を使ってみる

SoftKinetic

SoftKinetic の基本API群である DepthSenseSDK を触ってみました。OpenNI や Kinect SDK の Color,Depth,Audio の各ストリームに相当する部分のようです。

SoftKineticのDS325はハードウェアとして、カラーカメラ、距離カメラ、マイクを持っているので、KinectやXtionと同じような構成ですね。

始めに添付のサンプルを動かしてみます。

サンプルアプリケーションを動かしてみる

インストールしているSDKは32bit版です。

1. バイナリへのパスが通ってないので、環境変数に追加します。既定では「C:\Program Files (x86)\SoftKinetic\DepthSenseSDK\bin」を設定します。

2. サンプルは規定では「C:\Program Files (x86)\SoftKinetic\DepthSenseSDK\samples\ConsoleDemo」にあるので、ConsoleDemoフォルダごとデスクトップなどにコピーします。

3. ConsoleDemo.sln を開き、パスの設定を行います

  • 追加のインクルード ディレクトリ:C:\Program Files (x86)\SoftKinetic\DepthSenseSDK\include
  • 追加のライブラリ ディレクトリ:C:\Program Files (x86)\SoftKinetic\DepthSenseSDK\lib

4. 実行してみます。コンソール画面に数字がでればOKです。AはAudio、CはColor、ZはDepthのストリームのデータサイズが表示されます

カラーカメラの画像を表示してみる

OpenCVを使ってカラーカメラの画像を表示してみます。OpenCVの環境設定は割愛します。

カラーカメラのコールバックに書きコードを追加して実行します(そのた必要なヘッダなどは入れてください)。

/*----------------------------------------------------------------------------*/

// New color sample event handler

void onNewColorSample(ColorNode node, ColorNode::NewSampleReceivedData data)

{

printf("C#%u: %d\n",g_cFrames,data.colorMap.size());

g_cFrames++;

cv::Mat mat( 480, 640, CV_8UC3, (void*)(const uint8_t*)data.colorMap );

cv::imshow( "SoftKinetic Color Camera", mat );

cv::waitKey( 1 );

}

カラーカメラの画像が表示されればOKです。

Kinectのカラーカメラと比べるとDS325のほうがキレイかもしれませんね。