SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
Kinect Camp with TMCN
Kinect入門ハンズオン
Microsoft MVP Windows Platform Development
Oracle ACE for RDBMS
TMCNテクニカルエヴァンジェリスト
初音玲
Twitter : @hatsune_
Blog : http://hatsune.hatenablog.jp/
ハンズオンの概要
1. アプリ作成の基礎を学びます
2. Kinect対応アプリを作ります
3. Kinect Studioを利用してデバックを楽にします
4. じゃんけんWindowsストアアプリを作ります
本資料のダウンロード
http://bit.ly/1F0BnUE
1. アプリ作成の基礎
Windows ストア アプリケーション
Windows デバイス上で動作
Windows ストアで配布
ビューとロジック分離開発
Windows 10でも同様
詳しい内容は下記 Web ページをご覧ください
http://msdn.microsoft.com/ja-jp/library/windows/apps/dn726767.aspx
チェック
Microsoft Windows 8.1 (x64)
Visual Studio Community 2013
Kinect for Windows SDK v2.0
http://www.microsoft.com/en-us/kinectforwindows/
⇒[download]
新しいプロジェクト開始
1. Visual Studioを立ち上げます。
2. 新しいプロジェクトをクリックします。
[新しいプロジェクト]ダイアログ
1. Visual C#をクリック
2. ストアアプリをクリック
3. Windows アプリをクリック
テンプレートを選択してプロジェクトを作成
1. 空のアプリケーションをクリック
2. 名前を「HandsOn」と入力
3. OKをクリック
主な名称
メニューバー
ソリューションエクスプローラー
エディター
(コードエディタ / XAMLエディタ)
3つのフォルダを作成します
1. プロジェクト名を右クリック
2. [追加]→[新しいフォルダ]とクリック
3. 「Models」と名前を入力
同じように「ViewsModels」「Views」を作成
3つのフォルダを作成
Models
• Kinectと接続するコードを記述
ViewModels
• 複数のModelをまとめるなど
Views
• 画面定義などを記述
不要なファイルの削除
1. 「MainPage.xaml」を右クリック
2. [削除]をクリック
ViewsフォルダにMainPage.xamlを作成
1. 「Views」を右クリック
2. [追加]→[新しい項目]をクリック
ViewsフォルダにMainPage.xamlを作成
1. 「基本ページ」をクリック
2. 名前を「MainPage.xaml」と入力
3. [追加]をクリック
ViewsModelsフォルダにMainViewModel.csを作成
1. 「ViewModels」を右クリック
2. [追加]→[クラス]をクリック
ViewsModelsフォルダにMainViewModel.csを作成
1. 「クラス」をクリック
2. 名前を「MainViewModel.cs」と入力
3. [追加]をクリック
ModelsフォルダにKinectModel.csを作成
1. 「Models」を右クリック
2. [追加]→[クラス]をクリック
ModelsフォルダにKinectModel.csを作成
1. 「クラス」をクリック
2. 名前を「KinectModel.cs」と入力
3. [追加]をクリック
ここでビルド
1. [F5]キーを押す
コンパイルエラーの対応
1. エラー表示をダブルクリック
コンパイルエラーの対応
1. 青い波線の左端にマウスを移動
2. [▼]をクリック
3. [HandsOn.Views.MainPage]をクリック
ここでビルド
1. [F5]キーを押す
2. 簡単なKinect対応アプリを作成
Kinect 関連のモジュールを追加します
2. [参照の追加] をクリック
1. [参照設定]を右クリック
Kinect 関連のモジュールを追加します
2. [Windows.Preview.Kinect]をクリック
1. [拡張]をクリック
3. [OK]をクリック
ビルドの構成を変更します
1. [ビルド]→[拡張マネージャー]をクリック
ビルドの構成を変更します
2. ここをクリックし、[x86] を選択します。
1. 左のような画面が表示されます。
3. 左のような画面が表示されます。
4. [閉じる] ボタンをクリックし、
設定を終了します。
これにてビルド構成の変更は完了です。
Web カメラとマイクへのアクセスを許可します
1. 「Package.appxmanifest」を右クリック
2. [開く]メニューをクリック
3. [機能]をクリック
Web カメラとマイクへのアクセスを許可します
1. [マイク] の隣にチェック
2. [Web カメラ] の隣にチェック
Kinectにアクセスが可能になりました。
KinectModel.csを作成
http://bit.ly/1APQMwe
1. 画面を右クリック→[すべて選択]をクリック
2. 画面を右クリック→[コピー]をクリック
Visual StudioのKinectModel.cs
1. [編集]→[すべて選択]をクリック
2. [編集]→[貼り付け]をクリック
MainViewModel.csを作成
http://bit.ly/1cCU2iK
1. 画面を右クリック→[すべて選択]をクリック
2. 画面を右クリック→[コピー]をクリック
Visual StudioのMainViewModel.cs
1. [編集]→[すべて選択]をクリック
2. [編集]→[貼り付け]をクリック
ここでビルド
アプリが無事立ち上がるが何も起きない
1. [F5]キーを押す
<Grid.RowDefinitions>
<RowDefinition Height="140"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="1">
<Grid>
<Viewbox Height="700" Width="1024">
<Image Source="{Binding ColorImageElement}" Stretch="UniformToFill" />
</Viewbox>
</Grid>
</StackPanel>
MainPage.xamlの編集
ここにコードを書く
こう書かれている
部分を探す
<Grid.RowDefinitions>
<RowDefinition Height="140"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid>
<Viewbox Height="700" Width="1366">
<Image Source="{Binding ColorImageElement}" Stretch="UniformToFill" />
</Viewbox>
</Grid>
<TextBlock VerticalAlignment="Bottom" Text="{Binding Message}"
TextWrapping="Wrap" Foreground="Orange" Margin="10,0,0,0"
Style="{StaticResource SubheaderTextBlockStyle}"/>
</Grid>
MainPage.xamlの編集
private ViewModels.MainViewModel ViewModel = new ViewModels.MainViewModel();
public MainPage()
{
this.InitializeComponent();
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += navigationHelper_LoadState;
this.navigationHelper.SaveState += navigationHelper_SaveState;
this.DataContext = this.ViewModel;
}
private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
this.ViewModel.KinectStart();
}
private void navigationHelper_SaveState(object sender, SaveStateEventArgs e)
{
this.ViewModel.KinectStop();
}
MainPage.xaml.csの編集
ここでビルド
1. [F5]キーを押す
Kinectをつないでみよう
ここでビルド
Kinectカメラの映像が表示で来たら成功!
1. [F5]キーを押す
3. Kinect Studio を利用してデバックを楽にします
Kinect Studio 開発で苦労するポイント
アプリケーション開発・デバッグ時に Kinect セン
サーが必要
• SDK、開発環境は無償で入手できますが、Kinect の購入
が必要
• 持ち運ぶために鞄にある程度のスペースが必要
センシングするために十分な場所が必要
実行・デバッグの度にセンシングが必要
Kinect Studio とは
Kinect 開発を楽にするエミュレーター
通常の開発時
1. Kinect からデータをアプリへ渡します
Kinect
1. Kinect からデーターを取得します
2. Kinect Studio のデータをアプリへ渡します
開発 PC
アプリ
開発 PC
アプリ Kinect Studio
①
②
①
Kinect Studio を起動する
1. キーボード上で [Windows キー] を押します。
2. スタート画面が表示されるので、”Kinect” と
入力し、アプリケーションを検索します。
3. “Kinect Stdio v2.0” を選択し、起動します。
4. 左の画面が表示されます。
5. [Record] タブをクリックします。
Kinect からデータを取得する
1. Kinect が PC に接続されていることを確認
のうえ、ここをクリックします。
Kinect からデータを取得する
2. ここをクリックします。
1. 画面が左のように変化します
Kinect からデータを取得する
2. 目的のデーターを取得し終えましたら、
ここをクリックします。
1. データの取得が開始されますので、
Kinect の前で動きます。
3. [Play] タブをクリックします
取得したデータでデバッグする
1.接続状態 (コネクタが接続している図) に
なっていることを確認します。
2. ここ (再生マーク)をクリックします
Visual Studio でサンプルを実行する
1. キーボード上で [F5] キーを押すか、
ここをクリックします。
Visual Studio でサンプルを実行する
Kinect Studio からのデータを元に
サンプルプログラムのデバッグを行うことができます。
手元に Kinect が無い時に Kinect 開発をする場合には
Kinect Studio を使って快適に開発を進めてみてください。
補足情報
2. [Loop Count] の値を “3” など任意の値に
設定します。
1. デバッグをより快適に実行するために同じ
データを繰り返して再生することができます。
3. ここをクリックし、デバッグを進めてください。
4. じゃんけんアプリを作成
じゃんけんアプリの仕組み
ハンズオンで作成したKinectカメラアプリを拡張
• http://bit.ly/1QcMANJ
右手のボーンを取得
右手のボーンのステータスを判定
判定結果をじゃんけんにマッピング
KinectModel.csに
じゃんけんを返すインターフェイスを追加
public enum ResultState
{
Unknown = HandState.Unknown,
Lock = HandState.Closed,
Paper = HandState.Open,
Scissors = HandState.Lasso
}
private ResultState _Result = (ResultState)HandState.Unknown;
public ResultState Result
{
get { return this._Result; }
set
{
this._Result = value;
OnPropertyChanged();
}
}
1. ColorImageElementの定義の後の
38行目に追記
http://bit.ly/1KfZOo7 (文字化けしてたらUTF8)
1. 画面を右クリック→[すべて選択]をクリック
2. 画面を右クリック→[コピー]をクリック
Visual StudioのKinectModel.cs
1. 141行目で改行
2. [編集]→[貼り付け]をクリック
Visual StudioのMainViewModel.cs
public ImageSource ColorImageElement
{
get { return this.Model.ColorImageElement; }
set
{
this.Model.ColorImageElement = value;
}
}
public HandsOn.Models.KinectModel.ResultState Result
{
get { return this.Model.Result; }
set
{
this.Model.Result = value;
}
}
1. ColorImageElementの定義の後に追記
Visual StudioのMainPage.xaml
<TextBlock VerticalAlignment="Bottom" Text="{Binding Message}"
TextWrapping="Wrap" Foreground="Orange" Margin="10,0,0,0"
Style="{StaticResource SubheaderTextBlockStyle}"/>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center"
Text="{Binding Result}"
TextWrapping="Wrap" Foreground="Orange" Margin="10,0,0,0"
Style="{StaticResource HeaderTextBlockStyle}"/>
</Grid>
1. Messageの定義の後に追記
ここでビルド
Kinectカメラにぐーちょきぱーが表示で来たら成功!
1. [F5]キーを押す
FIN
62

Weitere ähnliche Inhalte

Was ist angesagt?

Kinect で power point 操作しよう!
Kinect で power point 操作しよう!Kinect で power point 操作しよう!
Kinect で power point 操作しよう!
Oda Shinsuke
 

Was ist angesagt? (20)

KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方
 
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Labインテル Real Sense Hands On Lab
インテル Real Sense Hands On Lab
 
ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来
 
はじめてのKinect for windows v2
はじめてのKinect for windows v2はじめてのKinect for windows v2
はじめてのKinect for windows v2
 
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
 
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方
 
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz SpaceUnity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
 
TMCN Vol 8
TMCN Vol 8TMCN Vol 8
TMCN Vol 8
 
GCS2014 TMCN
GCS2014 TMCNGCS2014 TMCN
GCS2014 TMCN
 
エフサミ2014
エフサミ2014エフサミ2014
エフサミ2014
 
続・Kinect v2を通してMicrosoft技術を考える
続・Kinect v2を通してMicrosoft技術を考える続・Kinect v2を通してMicrosoft技術を考える
続・Kinect v2を通してMicrosoft技術を考える
 
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
Tokyo MotionControl Network tech cafe 「誰もがつまづく3D認識の世界」
 
Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例
 
FMCN Kinectハンズオン
FMCN KinectハンズオンFMCN Kinectハンズオン
FMCN Kinectハンズオン
 
HVC-C Open Fab Night HVC-CをiOSでいじってみた
HVC-C Open Fab Night HVC-CをiOSでいじってみたHVC-C Open Fab Night HVC-CをiOSでいじってみた
HVC-C Open Fab Night HVC-CをiOSでいじってみた
 
Kinect で power point 操作しよう!
Kinect で power point 操作しよう!Kinect で power point 操作しよう!
Kinect で power point 操作しよう!
 
Kinect導入講座
Kinect導入講座Kinect導入講座
Kinect導入講座
 
教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
教育システム情報学会関西支部若手研究者フォーラムKinect勉強会(Hackathon)資料
 
KinebrickEV3におけるスタイリッシュモーションの取り組み
KinebrickEV3におけるスタイリッシュモーションの取り組みKinebrickEV3におけるスタイリッシュモーションの取り組み
KinebrickEV3におけるスタイリッシュモーションの取り組み
 
Kinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考えるKinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考える
 

Ähnlich wie Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06

Kinectプログラミング Step by Step
Kinectプログラミング Step by StepKinectプログラミング Step by Step
Kinectプログラミング Step by Step
Akira Hatsune
 
2012 kanemotolablecture7
2012 kanemotolablecture72012 kanemotolablecture7
2012 kanemotolablecture7
ytanno
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
Takayoshi Tanaka
 
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
Kaoru NAKAMURA
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
Kaoru NAKAMURA
 

Ähnlich wie Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06 (20)

Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxugFlex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
Flex 勉強会 第 166 回@仙台 「AIRKinectについて」 by tokufxug
 
KinectプログラミングStepByStep
KinectプログラミングStepByStepKinectプログラミングStepByStep
KinectプログラミングStepByStep
 
Kinectプログラミング Step by Step
Kinectプログラミング Step by StepKinectプログラミング Step by Step
Kinectプログラミング Step by Step
 
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」
 
2012 kanemotolablecture7
2012 kanemotolablecture72012 kanemotolablecture7
2012 kanemotolablecture7
 
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
 
20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編20110819 関西 kinect勉強会 初級編
20110819 関西 kinect勉強会 初級編
 
Tokyo Motion Network
Tokyo Motion NetworkTokyo Motion Network
Tokyo Motion Network
 
Kinect 2セミナー
Kinect 2セミナーKinect 2セミナー
Kinect 2セミナー
 
レゴ×Kinect実験指導書
レゴ×Kinect実験指導書レゴ×Kinect実験指導書
レゴ×Kinect実験指導書
 
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 
Leap Motion入門ハンズオン
Leap Motion入門ハンズオンLeap Motion入門ハンズオン
Leap Motion入門ハンズオン
 
Kinect for windows sdk introduction
Kinect for windows sdk introductionKinect for windows sdk introduction
Kinect for windows sdk introduction
 
Kinect v2 概要
Kinect v2 概要Kinect v2 概要
Kinect v2 概要
 

Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06