Значение сустава, если тело было вне диапазона
Я пытаюсь сделать так, чтобы Kinect автоматически настраивал угол наклона, чтобы можно было обнаружить все скелетные соединения, я использовал цикл, который проходит через все соединения и проверяет их значение, однако я не знаю, какое значение хранится в - например:"skeleton.Joints[JointID.HandRight]" - если соединение не было обнаружено. Может ли кто-нибудь помочь мне с этим, используя официальный Kinect SDK?
1 ответ
С использованием JointTrackingState
Перечисление на каждом из суставов позволит вам определить, является ли конкретный Joint
отслеживается или нет.
Например: skeleton.Joints[JointID.HandRight].TrackingState
скажет вам, если сустав:
- Отслеживается: соединение активно отслеживается SDK и возвращает данные, которым можно доверять.
- Предполагаемый: SDK не уверен в том, где находится сустав, но может сделать обоснованное предположение.
- NotTracked: соединение не отслеживается, и данные отсутствуют.
Вы можете перемещаться по каждому из суставов и проверять их состояние. На основании того, если это Tracked
, Inferred
или же NotTracked
Вы можете принять соответствующие меры.
Пример "Основы скелета" в Kinect для Windows Developer Toolkit демонстрирует, как настроить нарисованный скелет на основе этих значений.