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:

Belangrijke onderdelen van een frame

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

Onderdelen van hoofdframe

Toegang tot de verzameling body-structs

In één opname kunnen meerdere lichamen worden gedetecteerd. U kunt het aantal body's opvragen 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 body-index 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() om toegang te krijgen tot de hoofdindextoewijzing. Raadpleeg body index map voor gedetailleerde uitleg van de body index kaart. 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 vrijgegeven 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 de hoofdtekst te genereren. Het aantal verwijzingen voor de k4a_capture_t wordt steeds verhoogd 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