Значение сустава, если тело было вне диапазона

Я пытаюсь сделать так, чтобы 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 демонстрирует, как настроить нарисованный скелет на основе этих значений.

Другие вопросы по тегам