150 likes | 314 Vues
Work With Skeleton Data. Kinect for Windows Video Courses Jan 2013. Demo: How to get skeleton data. 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).
E N D
Work With Skeleton Data Kinect for Windows Video Courses Jan 2013
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)
4 Steps to Get Skeleton Data Find an available Kinect sensor. Enable skeleton data stream. Register stream ready event handler function. Start capturing data.
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 (varpotentialSensorinKinectSensor.KinectSensors) { if (potentialSensor.Status==KinectStatus.Connected) { this.sensor=potentialSensor; break; } }
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.
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();
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;
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; }
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. privatevoidSensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { using (SkeletonFrameskeletonFrame=e.OpenSkeletonFrame()) { if(skeletonFrame!=null) { skeletons =newSkeleton[skeletonFrame.SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo(skeletons); } } }
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.
Color • Introduction to color stream • Demo: How to get color data • Demo: ColorBasics sample • Overview • Hardware overview and • SDK installation • 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
Learn More About Kinect for Windows in MSDN http://msdn.microsoft.com/en-us/library/hh855352
Thanks Contact us: http://social.msdn.microsoft.com/Forums/en-US/kinectsdk