ブログ@kaorun55

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

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

Kinect for Windows SDK v2.0入門 目次

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

環境

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

解説

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

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

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

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

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

Windows 8.1 | 拡張」を「kinect」で検索します。WindowsPreview.Kinectのバージョンが2.0が今回の対象です。FaceやGestureBuilder,Inputもあるのがわかるでしょう。

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

参照についてしたライブラリに警告マークがついています。

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

ビルドプラットフォームをx86またはx64にします。ARMが対象外なので、エラーになります。

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

警告が取れました。

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

マニフェストファイルで「マイク」と「Webカメラ」にチェックをいれます。

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

最初のコード

コードを書いてみましょう。

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Navigation;

using WindowsPreview.Kinect;

// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234238 を参照してください

namespace KinectV2

{

/// <summary>

/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。

/// </summary>

public sealed partial class MainPage : Page

{

KinectSensor kinect;

public MainPage()

{

this.InitializeComponent();

}

protected override void OnNavigatedTo( NavigationEventArgs e )

{

base.OnNavigatedTo( e );

kinect = KinectSensor.GetDefault();

kinect.Open();

}

protected override void OnNavigatingFrom( NavigatingCancelEventArgs e )

{

base.OnNavigatingFrom( 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入門 目次