Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.
-
Upload
brendan-bradley -
Category
Documents
-
view
212 -
download
0
Transcript of Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.
Page 1 | Microsoft
Work With Skeleton Data
Kinect for Windows Video CoursesJan 2013
Page 2 | Microsoft
Demo: How to get skeleton data
Page 3 | Microsoft
Kinect For Windows SDK & Toolkit• Download SDK & Toolkit:
http://www.microsoft.com/en-us/kinectforwindows/• Install SDK & Toolkit.• Install examples provided in toolkit (SkeletonBasics-WPF)
Page 4 | Microsoft
4 Steps to Get Skeleton Data• Find an available Kinect sensor.• Enable skeleton data stream.• Register stream ready event handler function.• Start capturing data.
Page 5 | Microsoft
4 Steps to Get Skeleton Data – Find an available Kinect Sensor• KinectSensor object represents a Kinect sensor entity.• Enumerate all Kinect sensors and find a usable one.
foreach (var potentialSensor in KinectSensor.KinectSensors) { if (potentialSensor.Status == KinectStatus.Connected) { this.sensor = potentialSensor; break; } }
Page 6 | Microsoft
4 Steps to Get Skeleton Data – Find an available Kinect Sensor• Status of Kinect sensor:
• Disconnected – Sensor has been plugged off USB port.• Connected – Sensor is ready to use.• Initializing – Sensor is being initialized.• Not powered – Sensor is connected to USB port but power line is disconnected.
Page 7 | Microsoft
4 Steps to Get Skeleton Data – Enable skeleton data stream• KinectSensor.SkeletonStream implements API functions related to skeleton
data retrieving and processing.• Initialize to enable skeleton data stream:
this.sensor.SkeletonStream.Enable();
Page 8 | Microsoft
4 Steps to Get Skeleton Data – Register stream ready event handler function• Register the stream event handler function to Kinect sensor so that when a
new skeleton frame comes in, the handler function is called to retrieve and process the data.
this.sensor.SkeletonFrameReady += this.SensorSkeletonFrameReady;
Page 9 | Microsoft
4 Steps to Get Skeleton Data – Start Kinect sensor• Call KienctSensor.Start() to let Kinect sensor begin capturing the data.
try { this.sensor.Start(); } catch (IOException) { this.sensor = null; }
Page 10 | Microsoft
Retrieve Skeleton Data• When new incoming data frame is ready, stream data ready event is
triggered.• Open image frame in stream data ready event handler function.
private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e){ using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame()) { if (skeletonFrame != null) { skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo(skeletons); } }}
Page 11 | Microsoft
Skeleton Data• Joints – Collection of 20 joints which have the coordinate information.• Position – Position of tracked human body.• TrackingState – If all 20 joints are tracked or only position is provided.• ClippedEdges – If any joints are outside capture range.• Each joint can have tracked, not tracked or inferred state.
Page 12 | Microsoft
• OverviewHardware overview and SDK installation
• Color• Introduction to color stream• Demo: How to get color data• Demo: ColorBasics sample
• Depth• Introduction to depth stream• Demo: How to get depth data• Demo: DepthBasics sample
• Skeleton• Introduction to skeleton stream• Demo: How to get skeleton data• Demo: SkeletonBasics sample
• Audio• Introduction to audio stream• Demo: How to capture audio• Demo: Speech recognition
• Advanced Topics• Streams sync and coordinate mapping• Demo: Streams sync and coordinates
mapping• Accelerometer and tilt angle• Demo: How to get accelerometer and tilt
angle
Page 13 | Microsoft
Learn More About Kinect for Windows in MSDN
http://msdn.microsoft.com/en-us/library/hh855352
Page 14 | Microsoft
Thanks
Contact us: http://social.msdn.microsoft.com/Forums/en-US/kinectsdk
Page 15 | Microsoft