Save to file

I added functionality for the program to save positions to a file, X and Y as pixel positions and Z as depth. Each joint is labeled (H: Head, WL: Wrist Left, and so on), and flagged as tracked or inferred. The screenshot is of a skeleton in “sitting position”, hence no joints below the spine.

Working on a Python script to read the file and output another with the positions averaged out, in order to reduce noise.

Render canvas to bitmap


public void Export(Uri path, Canvas surface)
{
if (path == null) return;

// Save current canvas transform
Transform transform = surface.LayoutTransform;
// reset current transform (in case it is scaled or rotated)
surface.LayoutTransform = null;

// Get the size of canvas
Size size = new Size(surface.Width, surface.Height);
// Measure and arrange the surface
// VERY IMPORTANT
surface.Measure(size);
surface.Arrange(new Rect(size));

// Create a render bitmap and push the surface to it
RenderTargetBitmap renderBitmap =
new RenderTargetBitmap(
(int)size.Width,
(int)size.Height,
96d,
96d,
PixelFormats.Pbgra32);
renderBitmap.Render(surface);

}

From stackoverflow.

Example of usage from the C#-library: RenderTargetBitmap

Inspiration – Web Pages

These are some of the web pages I found that might help us.

Gesture Recognition course
Wave gesture tutorial
Pretty Easy Web Service Tutorial
Anonymous Pipes
Threading in C#

We were looking for ways to use png images as brushes.