Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

kinect c# draw and move skeleton from saved data

Tags:

c#

kinect

What I want to do is draw and animate a skeleton (like we can do with the sensor stream) from saved data (so I have x, y and z value of every joint).

I searched a lot, but I can't find anything that can help me.

I can convert the data to a joints collection, associate it to a skeleton, but then? I don't know how to map the skeleton to the colorImagePoint.

Maybe I have to create a depthImageFrame?

Thank you so much!

like image 644
Ginox Avatar asked Oct 06 '22 05:10

Ginox


1 Answers

Look into the Kinect Toolbox. It offers a recorder and playback functionality which may match your needs as is, or provide you with a starting point: http://kinecttoolbox.codeplex.com/

If you role your own, I'm not sure why you would need to map it to a color or depth frame, unless I'm missing a requirement of what you are doing.

Have a look at the SkeletonBasics example in the Microsoft Kinect for Windows SDK Toolkit examples. It will show you have to draw a skeleton manually based on skeleton data. From there, you could look into doing the following for you application:

  1. Set up your skeleton tracking callback
  2. At each skeleton frame, or less (if you don't need so many) save the joint positions
  3. Also save a 0-based timestamp
  4. Save data to format of choice when complete

During a playback, read in your recorded data and start a timer. When the timer hits the next skeleton frame's stored timestamp update your drawn skeleton on the screen (using the SkeletonBasics example app as guidance).

like image 75
Nicholas Pappas Avatar answered Oct 08 '22 19:10

Nicholas Pappas