i am trying to make the Kinect able to adjust its angle automatically to be able to detect all skeleton joints, i used loop that go through all the joint and check their value, however i don't know what is the value that stored in -for example:"skeleton.Joints[JointID.HandRight]" - if no joint was detected. Could some one help me with that using official Kinect SDK?
Asked
Active
Viewed 461 times
0
-
i don't remember tbh what is the value of join that isn't detected. Make a breakpoint in the loop on the line where you take value of it a check it :) – Fixus Dec 12 '12 at 08:26
1 Answers
0
Using the JointTrackingState
enum on each of the joints will allow you to determine if a particular Joint
is being tracked or not.
For example: skeleton.Joints[JointID.HandRight].TrackingState
will tell you if the joint is:
- Tracked: The joint is actively being tracked by the SDK and is returning data that can be trusted.
- Inferred: The SDK is not confident on where the joint is, but can make an educated guess.
- NotTracked: The joint is not being tracked and no data is available.
You can cycle through each of the joints and check their status. Based on if it is Tracked
, Inferred
or NotTracked
you can take appropriate action.
The "Skeleton Basics" example in the Kinect for Windows Developer Toolkit demonstrates how to adjust a drawn skeleton based on these values.

Nicholas Pappas
- 10,439
- 12
- 54
- 87