Share via


Coordinate Mapping Basics-WPF C# Sample

Kinect for Windows 1.5, 1.6, 1.7, 1.8

Note

Before Kinect for Windows SDK 1.8, this sample was named Green Screen-WPF C# Sample.

Overview

When you run this sample, you see the following:

  • A background image.

  • If you move in front of the camera, your body is rendered over the background image. This is done using the depth data to choose the pixel color.

  • Select Near Mode to change the range of the depth data.

  • Click Screenshot to capture the screen and save it in a file.

The Sample Uses the Following APIs To Do This
KinectSensor.KinectSensors Property Get the Kinect sensors that are plugged in and ready for use.
KinectStatus.Connected enumeration value Check the sensor to see if it is connected and ready to use.
ColorImageFormat.RgbResolution640x480Fps30 enumeration value Choose the color stream format including the data type, resolution, and frame rate of the data.
ColorImageStream.Enable Method Enable the color stream.
DepthImageFormat.Resolution320x240Fps30 enumeration value Choose the depth stream format including the data type, resolution, and frame rate of the data.
DepthImageStream.Enable Method Enable the depth stream.
SkeletonStream.Enable Method Enable the skeleton stream so that you can get the player mask.
ImageStream.FramePixelDataLength Property Specify the length of the pixel data buffer when you allocate memory to store the depth stream data from the Kinect.
ImageStream.FrameWidth Property and ImageStream.FrameHeight Property Specify the width and height of the WriteableBitmap used to store/render the depth data.
DepthImagePixel Structure Create a local array for depth data.
KinectSensor.Start Method and KinectSensor.Stop Method Start or stop streaming data.
KinectSensor.AllFramesReady Event Add an event handler for all of the streaming data. The sensor will signal the event handler when each new frame of color, depth, and skeleton data is ready.
AllFramesReadyEventArgs.OpenColorImageFrame Method and AllFramesReadyEventArgs.OpenDepthImageFrame Method Get a frame of color data and a frame of depth data in the event handler.
ColorImageFrame.CopyPixelDataTo Method Copy a frame of color data to a pre-allocated array, so it can then be written to an optional WriteableBitmap.
DepthImageFrame.CopyPixelDataTo Method Copy a frame of depth data to a pre-allocated array, so it can then be written to an optional WriteableBitmap.
CoordinateMapper.MapDepthFrameToColorFrame Method Convert a frame of depth data to a frame of color data.
DepthImagePixel Structure Get the depth of a pixel so that you can extract the player index from the depth data. Use the player index to choose the foreground color data (from the player) or the background color data (from the background image) to save in the optional WriteableBitmap.

To run a sample you must have the Kinect for Windows SDK installed. To compile a sample, you must have the developer toolkit installed. The latest SDK and developer toolkit are available on the developer download page. If you need help installing the toolkit, look on this page: To Install the SDK and Toolkit. The toolkit includes a sample browser, which you can use to launch a sample or download it to your machine. To open the sample browser, click Start > All Programs > Kinect for Windows SDK [version number] > Developer Toolkit Browser.

If you need help loading a sample in Visual Studio or using Visual Studio to compile, run, or debug, see Opening, Building, and Running Samples in Visual Studio.