Partilhar via


Aceder aos dados na moldura do corpo

Este artigo descreve os dados contidos em um quadro de corpo e as funções para acessar esses dados.

São abrangidas as seguintes funções:

Componentes-chave de uma estrutura de corpo

Cada quadro de corpo contém uma coleção de estruturas de corpo, um mapa de índice de corpo 2D e a captura de entrada que gerou esse resultado.

Componentes da estrutura do corpo

Aceda à coleção de estruturas corporais

Vários corpos podem ser detetados em uma única captura. Você pode consultar o número de corpos chamando a função k4abt_frame_get_num_bodies( ).

size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);

Use as funções k4abt_frame_get_body_id() e k4abt_frame_get_body_skeleton() para iterar através de cada índice corporal para encontrar o ID do corpo e as informações de posição/orientação da articulação.

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

Aceda ao mapa do índice corporal

Use a função k4abt_frame_get_body_index_map() para acessar o mapa de índice corporal. Consulte o mapa do índice corporal para obter uma explicação detalhada do mapa do índice corporal. Certifique-se de liberar o mapa de índice corporal quando ele não for mais necessário.

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

Acesse a captura de entrada

O rastreador de corpo é uma API assíncrona. A captura original pode já ter sido liberada no momento em que o resultado é estourado. Use a função k4abt_frame_get_capture() para consultar a captura de entrada usada para gerar esse resultado de rastreamento de corpo. A contagem de referência para o k4a_capture_t é aumentada cada vez que esta função é chamada. Use a função k4a_capture_release() quando a captura não for mais necessária.

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

Próximos passos