신체 프레임의 데이터에 액세스
이 문서에서는 신체 프레임에 포함된 데이터와 해당 데이터에 액세스하는 함수에 대해 설명합니다.
지원되는 함수는 다음과 같습니다.
- 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()
신체 프레임의 주요 구성 요소
각 신체 프레임에는 신체 구조 컬렉션, 2D 신체 인덱스 맵 및 이 결과가 생성된 입력 캡처가 포함되어 있습니다.
신체 구조의 컬렉션 액세스
단일 캡처에 여러 신체가 감지될 수 있습니다. k4abt_frame_get_num_bodies() 함수를 호출하여 신체의 수를 쿼리할 수 있습니다.
size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);
신체 ID 및 관절 위치/방향 정보를 찾기 위해 각 신체 인덱스를 통해 반복하려면 k4abt_frame_get_body_id() 및 k4abt_frame_get_body_skeleton() 함수를 사용합니다.
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);
}
신체 인덱스 맵 액세스
신체 인덱스 맵에 액세스하려면 k4abt_frame_get_body_index_map() 함수를 사용합니다. 신체 인덱스 맵에 대한 자세한 설명은 신체 인덱스 맵을 참조하세요. 신체 인덱스 맵이 더 이상 필요하지 않을 때는 이를 해제해야 합니다.
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);
입력 캡처 액세스
신체 추적기는 비동기 API입니다. 결과가 표시될 때 원본 캡처가 이미 해제되었을 수 있습니다. 이 신체 추적 결과를 생성하는 데 사용된 입력 캡처를 쿼리하려면 k4abt_frame_get_capture() 함수를 사용합니다. 이 함수가 호출 될 때마다 k4a_capture_t에 대 한 참조 횟수가 증가합니다. 캡처가 더 이상 필요하지 않을 때 k4a_capture_release() 함수를 사용합니다.
k4a_capture_t input_capture = k4abt_frame_get_capture(body_frame);
... // Do your work with the input capture
k4a_capture_release(input_capture);