Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die in einem Rahmen enthaltenen Daten und die Funktionen für den Zugriff auf diese Daten beschrieben.
Die folgenden Funktionen werden behandelt:
- k4abt_frame_get_body_id()
- k4abt_frame_get_body_index_map()
- k4abt_frame_get_body_skeleton()
- k4abt_frame_get_capture()
- k4abt_frame_get_num_bodies()
- k4abt_frame_get_device_timestamp_usec()
Hauptkomponenten eines Körperrahmens
Jeder Körperrahmen enthält eine Sammlung von Körperstrukturen, eine 2D-Körperindex-Zuordnung und die Eingabeaufnahme, die dieses Ergebnis erzeugt hat.
Zugreifen auf die Sammlung von Textkörper-Strukturen
Mehrere Körper können in einer einzigen Erfassung erkannt werden. Sie können die Anzahl der Körper abfragen, indem Sie die funktion k4abt_frame_get_num_bodies() aufrufen.
size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);
Sie verwenden die Funktionen k4abt_frame_get_body_id() und k4abt_frame_get_body_skeleton(), um die einzelnen Körperindizes zu durchlaufen und die Körper-ID sowie die Gelenkposition/-orientierung Informationen zu finden.
for (size_t i = 0; i < num_bodies; i++)
{
k4abt_skeleton_t skeleton;
k4abt_frame_get_body_skeleton(body_frame, i, &skeleton);
uint32_t id = k4abt_frame_get_body_id(body_frame, i);
}
Auf die Körperindexkarte zugreifen
Sie verwenden die k4abt_frame_get_body_index_map()-Funktion, um auf die Körperindexkarte zuzugreifen. Ausführliche Erläuterungen zur Körperindexkarte finden Sie in body index map. Stellen Sie sicher, dass Sie die Körperindexkarte freigeben, wenn sie nicht mehr benötigt wird.
k4a_image_t body_index_map = k4abt_frame_get_body_index_map(body_frame);
... // Do your work with the body index map
k4a_image_release(body_index_map);
Zugreifen auf die Eingabeerfassung
Der Body-Tracker ist eine asynchrone API. Die ursprüngliche Aufnahme wurde möglicherweise bereits freigegeben, bevor das Ergebnis abgerufen wird. Verwenden Sie die k4abt_frame_get_capture() Funktion, um die Eingabeerfassung abzufragen, die zum Generieren dieses Körpererfassungsergebnisses verwendet wird. Die Referenzanzahl für die k4a_capture_t wird jedes Mal erhöht, wenn diese Funktion aufgerufen wird. Verwenden Sie k4a_capture_release() Funktion, wenn die Aufnahme nicht mehr benötigt wird.
k4a_capture_t input_capture = k4abt_frame_get_capture(body_frame);
... // Do your work with the input capture
k4a_capture_release(input_capture);