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?
0
votes
1 Answers
0
votes
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.