ブログ@kaorun55

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

Kinect for Windows SDK v2.0 で開発する環境を整える(デスクトップC#編)

Kinect for Windows SDK v2.0入門 目次

WPFでデスクトップアプリケーションとして開発する時の手順をまとめます。Kinect for Windows SDK v2.0をインストールしてあることが前提です。

環境

筆者の環境は次の通りです。

解説

Visual Studio のプロジェクトを作成する

Visual Studio を起動し、「Visual C#Windows デスクトップ」から 「WPF アプリケーション」を選択し、ソリューション名称を入力します。

スクリーンショット 2014-07-17 12.15.51

「参照設定|参照の追加」を選択します。

スクリーンショット 2014-07-17 12.15.59

アセンブリを「kinect」で検索します。Microsoft.Kinectのバージョンが2.0.0.0が今回の対象です。FaceやGestureBuilderもあるのがわかるでしょう。

スクリーンショット 2014-07-17 12.16.20

最初のコード

コードを書いてみましょう。ビューにてLoadedおよびClosingのイベントを追加してください。

using System;

using System.Windows;

using Microsoft.Kinect;

namespace KinectV2

{

/// <summary>

/// MainWindow.xaml の相互作用ロジック

/// </summary>

public partial class MainWindow : Window

{

KinectSensor kinect;

public MainWindow()

{

InitializeComponent();

}

private void Window_Loaded( object sender, RoutedEventArgs e )

{

try {

kinect = KinectSensor.GetDefault();

if ( kinect == null ) {

throw new Exception("Kinectを開けません");

}

kinect.Open();

}

catch ( Exception ex ) {

MessageBox.Show( ex.Message );

Close();

}

}

private void Window_Closing( object sender, System.ComponentModel.CancelEventArgs e )

{

if ( kinect != null ) {

kinect.Close();

kinect = null;

}

}

}

}

このプログラムを実行すると、マークと赤外線が光はじめます(いま手元にあるのが、Developer Previewなので、Xboxマークですw)

簡単にコードの解説をします。写真 (11)

  • KinectへのアクセスにはKinectSensorクラスを利用します。
  • KinectSensor.GetDefault()を呼び出し、Kinectセンサーと関連付けます。
  • KinectSensor.Open()でKinectの動作を開始します。ここでマークが光ります。
  • 終了時にはKinectセンサーの動作をとめます

Kinect for Windows SDK v2.0入門 目次