Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano dane zawarte w ramce treści i funkcje umożliwiające dostęp do tych danych.
Omówiono następujące funkcje:
- 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()
Kluczowe składniki ramki ciała
Każda ramka treści zawiera kolekcję struktur treści, mapę indeksu treści 2D oraz przechwytywanie danych wejściowych, które wygenerowało ten wynik.
Dostęp do kolekcji struktur ciała
W jednym przechwyceniu może zostać wykrytych wiele ciał. Liczbę ciał można pobrać, wywołując funkcję k4abt_frame_get_num_bodies().
size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);
Używasz funkcji k4abt_frame_get_body_id() i k4abt_frame_get_body_skeleton(), aby iterować przez każdy indeks ciała w celu znalezienia identyfikatora ciała oraz informacji o położeniu/orientacji stawów.
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);
}
Uzyskiwanie dostępu do mapy indeksu treści
Aby uzyskać dostęp do mapy indeksu ciała, używasz funkcji k4abt_frame_get_body_index_map(). Odwołaj się do mapy indeksu ciała, aby uzyskać szczegółowe wyjaśnienie mapy indeksu ciała. Pamiętaj, aby zwolnić mapę indeksu ciała, gdy nie jest już potrzebna.
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);
Uzyskaj dostęp do przechwytywania danych wejściowych
Monitor ciała jest asynchronicznym interfejsem API. Oryginalny zrzut mógł już zostać zwolniony, zanim wynik zostanie uzyskany. Użyj funkcji k4abt_frame_get_capture(), aby zapytać o przechwytywanie danych wejściowych używanych do generowania wyniku śledzenia ciała. Liczba odwołań dla k4a_capture_t jest zwiększana za każdym razem, gdy ta funkcja jest wywoływana. Użyj funkcji k4a_capture_release(), gdy przechwytywanie nie jest już potrzebne.
k4a_capture_t input_capture = k4abt_frame_get_capture(body_frame);
... // Do your work with the input capture
k4a_capture_release(input_capture);