Share via


Gegevens in kader openen

In dit artikel worden de gegevens in een hoofdtekstframe en de functies voor toegang tot die gegevens beschreven.

De volgende functies worden behandeld:

Belangrijkste onderdelen van een bodyframe

Elk hoofdframe bevat een verzameling body-structs, een 2D-hoofdindextoewijzing en de invoeropname die dit resultaat heeft gegenereerd.

Onderdelen van hoofdframe

Toegang tot de verzameling body-structs

Er kunnen meerdere lichamen worden gedetecteerd in één opname. U kunt een query uitvoeren op het aantal lichamen door de functie k4abt_frame_get_num_bodies() aan te roepen.

size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);

U gebruikt de functies k4abt_frame_get_body_id() en k4abt_frame_get_body_skeleton() om elke hoofdindex te doorlopen om de body-id en informatie over de gezamenlijke positie/oriëntatie te vinden.

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

Toegang tot de hoofdindextoewijzing

U gebruikt de functie k4abt_frame_get_body_index_map() voor toegang tot de hoofdindextoewijzing. Raadpleeg de hoofdindexkaart voor gedetailleerde uitleg van de hoofdindexkaart. Zorg ervoor dat u de hoofdindextoewijzing loslaat wanneer deze niet meer nodig is.

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

Toegang tot de invoeropname

De bodytracker is een asynchrone API. De oorspronkelijke opname is mogelijk al uitgebracht op het moment dat het resultaat wordt weergegeven. Gebruik de functie k4abt_frame_get_capture() om een query uit te voeren op de invoeropname die wordt gebruikt om dit resultaat voor het bijhouden van lichamen te genereren. Het aantal verwijzingen voor de k4a_capture_t wordt verhoogd telkens wanneer deze functie wordt aangeroepen. Gebruik de functie k4a_capture_release() wanneer de opname niet meer nodig is.

k4a_capture_t input_capture = k4abt_frame_get_capture(body_frame);
... // Do your work with the input capture
k4a_capture_release(input_capture);

Volgende stappen