Created
February 10, 2013 20:29
-
-
Save chribben/4750940 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[STAThread] | |
static void Main() | |
{ | |
_nui = new Runtime(); | |
var app = new Application(); | |
var window = new Window(); | |
InitializeNui(); //Initializing the Runtime object and opening video streams | |
CreateGUI(window); //Setting up a canvas to hold the RGB video and the image attached to the hand of captured person | |
var skeletonFrameReadyObservable = Observable.FromEventPattern(_nui, "SkeletonFrameReady"); | |
var trackedSkeletons = from ev in skeletonFrameReadyObservable | |
from skel in ev.EventArgs.SkeletonFrame.Skeletons | |
where skel.TrackingState == SkeletonTrackingState.Tracked | |
select skel; | |
var rightHandPos = trackedSkeletons.ObserveOnDispatcher().Select(s => getDisplayPosition(s.Joints[JointID.HandRight])); | |
rightHandPos.ObserveOnDispatcher().Subscribe(pos => | |
{ | |
_image.SetValue(Canvas.TopProperty, pos.Y); | |
_image.SetValue(Canvas.LeftProperty, pos.X); | |
Console.WriteLine(pos.X + ", " + pos.Y); | |
}); | |
var videoFrameReadyObservable = Observable.FromEventPattern(_nui, "VideoFrameReady"); | |
videoFrameReadyObservable.ObserveOnDispatcher().Subscribe(evPattern => | |
{ | |
PlanarImage Image = evPattern.EventArgs.ImageFrame.Image; | |
_video.Source = BitmapSource.Create(Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel); | |
}); | |
app.Run(window); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment