MicrosoftのKinectをVisual Basic.NET Languageで首振りさせる
この投稿はLL/ML Advent Calendarの10日目のネタです。
- はじまり
LL/ML Advent Calendarの編集者が所属している某社に妖精さんとして
潜り込んでいた時に捕獲されました。*1なごやこわい!!
ということでLLとかMLとかネタを考えないと・・・。
色々考えたが本当に何も思いつかないし風邪ひいてお腹痛いし
12月10日のネタ記事落としてしまうのか??と不安に思っていたら
!!
ここの人気プログラミング言語で「Cが1位を維持、Objective-Cの人気が続く - 12月プログラミング言語人気」という記事を読んでC言語系ですかぁ。
そうですか、C言語ですか!!
VBが虐げられている!!*2
(先月MicrosoftのKinectのSDKをいれていてKinectネタ何かやろうとは思っていた。)
MicrosoftのKinectをVB.netで動かせばランキング上がるんだ。*3
- 開発言語の選択
まず、選択したのはVisual Basic 2010理由はC#の言語設計者として知られる
アンダース・ヘルスバーグ氏が設計に携わりVBとC#との格差が低減されているから。*4
そう!!Visual Basic 2010以降ならKinectが動かせる!!
ということで、本題
- サンプル実装
まずは、インポート
Imports Microsoft.Kinect
つづいて、KinectSensorの定義
Namespace miguse.Kinect.Tilt Partial Public Class MainWindow Inherits Window Private sensor As KinectSensor
スライダーを動かすとKinectを上下にチルトするようようにこんな感じで記述
Private Sub Slider1_ValueChanged(sender As System.Object, e As System.Windows.RoutedPropertyChangedEventArgs(Of System.Double)) Handles Slider1.ValueChanged Private sensor As KinectSensor Try sensor.Start() sensor.ElevationAngle = CInt(Slider1.Value) sensor.Stop() Catch ex As Exception MsgBox(CInt(Slider1.Value)) End Try End Sub
これで、VBでもKinectの首振りが出来ます。詳しくはMSDNをみてね。
*1:おかしたべられてしあわせー
*3:かなり、勘違いしている
*4:Visual Studio 2010 or Visual Studio 2012でドライバを入れたPCがWindows7なのでVisual Studio 2010を選んだが真実