Udostępnij przez


Uzyskiwanie dostępu do danych w ramie karoserii

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:

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.

komponenty ramy nadwozia

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);

Następne kroki