none
Units of values of Joint.Position RRS feed

  • Question

  • I was wondering in what units does Nui.Joint.Position vector stores its values?

     

    I was about 1.5m away from Kinect and got following values for Joint.Position Vector for Head

    X=0,03784456, Y= 0,2978491, Z= 1,039891

    I couldn't figure out in what measuring units is it representing the values?

    My aim is to use these values to define some gestures. 

    Thank You

    Kaur

    Wednesday, June 22, 2011 1:29 PM

Answers

  • I think he misspoke when he first mentioned it on the video. The range is not limited to -1 to 1.

    The x, y, and z coordinates in the skeleton data are all expressed in meters, with the origin at the center of the field of view, at the camera. So, if you see a joint at (0.0, 0.0, 1.0), it is located one meter in front of the camera, exactly in the center of the field of view.

    John
    Kinect for Windows Team

     

    Wednesday, June 22, 2011 10:07 PM

All replies

  • The units are definitely metric.

    If the positions aren't relative to the sensor (which is the case for depth data) they're relative to the skeleton itself. I think it was the ShoulderCenter, but it may be the hip as well, but that's easy to tell^^  


    Wednesday, June 22, 2011 4:08 PM
  • The Z coordinate should be in meter. I am not sure about the x and y coordinates. As mentioned in the quick start demo, x and y coordinates are a scale from -1 to 1: http://channel9.msdn.com/Series/KinectSDKQuickstarts/Skeletal-Tracking-Fundamentals

    I am also desperately looking for ways to get x and y coordinates in metric units. There is this function: SkeletonEngine.DepthImageToSkeleton Method, that supposedly can output the coordinates in metric units. Can anyone post more details of how to pass in the inputs? (coordinates of depth pixel and depth value left shifted by 3). Thanks.

    Gilbert

    Wednesday, June 22, 2011 8:37 PM
  • I think he misspoke when he first mentioned it on the video. The range is not limited to -1 to 1.

    The x, y, and z coordinates in the skeleton data are all expressed in meters, with the origin at the center of the field of view, at the camera. So, if you see a joint at (0.0, 0.0, 1.0), it is located one meter in front of the camera, exactly in the center of the field of view.

    John
    Kinect for Windows Team

     

    Wednesday, June 22, 2011 10:07 PM
  • Hi Kaur87,

     

    May i know how do you output the values for Joint.position Vector?

    Are the codes to output the values written in C#?

     

    Ur help will be greatly appreciated(:

     

    Thank you!

    Monday, July 25, 2011 6:48 AM