Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

15
Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013

Transcript of Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

Page 1: 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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

Page 2 | Microsoft

Demo: How to get skeleton data

Page 3: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

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: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

Page 13 | Microsoft

Learn More About Kinect for Windows in MSDN

http://msdn.microsoft.com/en-us/library/hh855352

Page 14: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

Page 14 | Microsoft

Thanks

Contact us: http://social.msdn.microsoft.com/Forums/en-US/kinectsdk

Page 15: Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.

Page 15 | Microsoft