SlideShare a Scribd company logo
1 of 26
Download to read offline
Kinect v2 からUSBでつないだ機器をコ
ントロールしてみよう
Vol.01 2014/11/14
本日のゴール
Kinectを使うWindowsストアアプリの注意点を理解する
カラーカメラの画像を画面に表示する
頭のボーンの位置をカメラ画像に合わせて表示する
USB接続機器の操作ジェスチャーを判定する
チェック
Microsoft Windows 8.1 (x64)
Visual Studio Community 2013
Kinect for Windows SDK v2.0
http://www.microsoft.com/en-us/kinectforwindows/
⇒[download]
KineMissile
不要なファイルの削除
3つのフォルダを作成
Models
ViewModels
Views
【Views】 画面定義などを記述
【ViewModels】 複数のModelをまとめるなど
【Models】KinectやUSB機器と接続するコードを記述
ViewsフォルダにMainPage.xamlを作成
フォルダ右クリック
[追加]-[新しい項目]
appmanifestの機能の設定
ここでビルド
コンパイルエラーの対応
コンパイルエラーの対応
MainPage
ソリューションエクスプローラー
プロジェクト名を右クリック⇒[追加]-[参照]
Kinect for Windows SDK v2への参照設定追加
メニューバーの[ビルド]-[構成マネージャー]
Kinect SDKはx64専用なので実行時はx64
Visual Studioはx86専用なので編集時はx86
教材をコピー
フォルダ右クリック⇒[追加]-[既存の項目]
教材の2ファイルをそれぞれ所定のフォルダに追加
ここでビルド
<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>
<StackPanel Grid.Row="1">
<Grid>
<Viewbox Height="700" Width="1024">
<Image Source="{Binding ColorImageElement}" Stretch="UniformToFill" />
</Viewbox>
</Grid>
</StackPanel>
MainPage.xamlの編集
Private Model As New ViewModels.MainViewModel
Public Sub New()
InitializeComponent()
Me._navigationHelper = New Common.NavigationHelper(Me)
AddHandler Me._navigationHelper.LoadState, AddressOf NavigationHelper_LoadState
AddHandler Me._navigationHelper.SaveState, AddressOf NavigationHelper_SaveState
Me.DataContext = Me.Model
End Sub
Private Sub NavigationHelper_LoadState(sender As Object, e As Common.LoadStateEventArgs)
Me.Model.KinectConnect()
End Sub
Private Sub NavigationHelper_SaveState(sender As Object, e As Common.SaveStateEventArgs)
Me.Model.KinectDisConnect()
End Sub
MainPage.xaml.vbの編集
ここでビルド
Kinectをつないでみよう
ここで実行⇒カラーカメラの画像表示
<StackPanel Grid.Row="1">
<Grid>
<Viewbox Height="700" Width="1024">
<Image Source="{Binding ColorImageElement}" Stretch="UniformToFill" />
</Viewbox>
<Viewbox Height="700" Width="1024">
<Canvas Name="BodyCanvas" Height="1080" Width="1920"
DataContext="{Binding BodyImageElement}">
<Rectangle Stroke="Red"
StrokeThickness="30" Width="200" Height="200"
Canvas.Top="{Binding Top}" Canvas.Left="{Binding Left}" />
</Canvas>
</Viewbox>
</Grid>
</StackPanel>
MainPage.xamlへの追加編集
頭部のボーンの取得コード例 (KinectModel.vb)
カラー画像とボーンでは座標系が違う
座標をカラー画像に合わせる⇒MapCameraPointToColorSpace
Dim headPos = Me.Kinect.CoordinateMapper.MapCameraPointToColorSpace(
born.Joints(JointType.Head).Position)
Me.BodyImageElement = New PosRect With {.Top = headPos.Y - 200 / 2,
.Left = headPos.X - 200 / 2}
ここで実行⇒画像の顔部分に赤い四角を表示
腕を振り下ろすと機器操作のコード例(KinectModel.vb)
If (born.Joints(JointType.HandLeft).Position.Y > born.Joints(JointType.Head).Position.Y) Then
Me.IsUp = True
ElseIf (born.Joints(JointType.HandLeft).Position.Y < born.Joints(JointType.Head).Position.Y + 10) Then
If (Me.IsUp) Then
'ミサイル発射
Me.IsUp = False
End If
End If

More Related Content

Similar to Kinect v2 からUSBでつないだ機器をコントロールしてみよう Vol.1

Kinectプログラミング Step by Step
Kinectプログラミング Step by StepKinectプログラミング Step by Step
Kinectプログラミング Step by Step
Akira Hatsune
 
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for UnitySAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
Akira Onishi
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
Akira Onishi
 
スマ研第2回レポート
スマ研第2回レポートスマ研第2回レポート
スマ研第2回レポート
Shinpei Niiyama
 

Similar to Kinect v2 からUSBでつないだ機器をコントロールしてみよう Vol.1 (20)

Kinectプログラミング Step by Step
Kinectプログラミング Step by StepKinectプログラミング Step by Step
Kinectプログラミング Step by Step
 
KinectプログラミングStepByStep
KinectプログラミングStepByStepKinectプログラミングStepByStep
KinectプログラミングStepByStep
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
 
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for UnitySAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
 
Kinect導入講座
Kinect導入講座Kinect導入講座
Kinect導入講座
 
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
 
スマ研第2回レポート
スマ研第2回レポートスマ研第2回レポート
スマ研第2回レポート
 
Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介Intel OpenVINO™ ツールキットのご紹介
Intel OpenVINO™ ツールキットのご紹介
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
 
Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1
 
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot Arm
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
Cstコース発表2021
Cstコース発表2021Cstコース発表2021
Cstコース発表2021
 
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
 
System.Drawing 周りの話
System.Drawing 周りの話System.Drawing 周りの話
System.Drawing 周りの話
 
エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編
 

Kinect v2 からUSBでつないだ機器をコントロールしてみよう Vol.1