Azure Kinect Body Tracking SDK  0.9.5
k4abt.h
1 
5 #ifndef K4ABT_H
6 #define K4ABT_H
7 
8 #include <k4abtversion.h>
9 #include <k4abttypes.h>
10 
11 #ifdef K4ABT_STATIC_DEFINE
12 # define K4ABT_EXPORT
13 #else
14 #ifdef _WIN32
15 # ifndef K4ABT_EXPORT
16 # define K4ABT_EXPORT __declspec(dllexport)
17 # endif
18 #else
19 # ifndef K4ABT_EXPORT
20 # define K4ABT_EXPORT __attribute__((visibility("default")))
21 # endif
22 #endif
23 #endif
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
64  K4ABT_EXPORT k4a_result_t k4abt_tracker_create(const k4a_calibration_t* sensor_calibration,
66  k4abt_tracker_t* tracker_handle);
67 
78  K4ABT_EXPORT void k4abt_tracker_destroy(k4abt_tracker_t tracker_handle);
79 
94  K4ABT_EXPORT void k4abt_tracker_set_temporal_smoothing(k4abt_tracker_t tracker_handle, float smoothing_factor);
95 
134  k4a_capture_t sensor_capture_handle,
135  int32_t timeout_in_ms);
136 
170  K4ABT_EXPORT k4a_wait_result_t k4abt_tracker_pop_result(k4abt_tracker_t tracker_handle,
171  k4abt_frame_t* body_frame_handle,
172  int32_t timeout_in_ms);
173 
194  K4ABT_EXPORT void k4abt_tracker_shutdown(k4abt_tracker_t tracker_handle);
195 
206  K4ABT_EXPORT void k4abt_frame_release(k4abt_frame_t body_frame_handle);
207 
222  K4ABT_EXPORT void k4abt_frame_reference(k4abt_frame_t body_frame_handle);
223 
236  K4ABT_EXPORT uint32_t k4abt_frame_get_num_bodies(k4abt_frame_t body_frame_handle);
237 
256  K4ABT_EXPORT k4a_result_t k4abt_frame_get_body_skeleton(k4abt_frame_t body_frame_handle, uint32_t index, k4abt_skeleton_t* skeleton);
257 
274  K4ABT_EXPORT uint32_t k4abt_frame_get_body_id(k4abt_frame_t body_frame_handle, uint32_t index);
275 
290  K4ABT_EXPORT uint64_t k4abt_frame_get_device_timestamp_usec(k4abt_frame_t body_frame_handle);
291 
308  K4ABT_EXPORT k4a_image_t k4abt_frame_get_body_index_map(k4abt_frame_t body_frame_handle);
309 
323  K4ABT_EXPORT k4a_capture_t k4abt_frame_get_capture(k4abt_frame_t body_frame_handle);
324 
389 #ifdef __cplusplus
390 }
391 #endif
392 
393 #endif /* K4ABT_H */
394 
395 
void k4abt_tracker_destroy(k4abt_tracker_t tracker_handle)
Releases a body tracker handle.
uint32_t k4abt_frame_get_body_id(k4abt_frame_t body_frame_handle, uint32_t index)
Get the body id for a particular person index from the k4abt_frame_t.
k4a_result_t
Handle to k4a body tracking component.
Definition: k4abttypes.h:34
Structure to define joints for skeleton.
Definition: k4abttypes.h:206
uint64_t k4abt_frame_get_device_timestamp_usec(k4abt_frame_t body_frame_handle)
Get the body frame&#39;s device timestamp in microseconds.
void k4abt_frame_release(k4abt_frame_t body_frame_handle)
Release a body frame back to the SDK.
void k4abt_frame_reference(k4abt_frame_t body_frame_handle)
Add a reference to a body frame.
Handle to a k4a body tracking frame.
Definition: k4abttypes.h:41
k4a_wait_result_t k4abt_tracker_enqueue_capture(k4abt_tracker_t tracker_handle, k4a_capture_t sensor_capture_handle, int32_t timeout_in_ms)
Add a k4a sensor capture to the tracker input queue to generate its body tracking result asynchronous...
k4a_result_t k4abt_frame_get_body_skeleton(k4abt_frame_t body_frame_handle, uint32_t index, k4abt_skeleton_t *skeleton)
Get the joint information for a particular person index from the k4abt_frame_t.
uint32_t k4abt_frame_get_num_bodies(k4abt_frame_t body_frame_handle)
Get the number of people from the k4abt_frame_t.
Configuration parameters for a k4abt body tracker.
Definition: k4abttypes.h:128
void k4abt_tracker_shutdown(k4abt_tracker_t tracker_handle)
Shutdown the tracker so that no further capture can be added to the input queue.
void k4abt_tracker_set_temporal_smoothing(k4abt_tracker_t tracker_handle, float smoothing_factor)
Control the temporal smoothing across frames.
k4a_image_t k4abt_frame_get_body_index_map(k4abt_frame_t body_frame_handle)
Get the body index map from k4abt_frame_t.
k4a_capture_t k4abt_frame_get_capture(k4abt_frame_t body_frame_handle)
Get the original capture that is used to calculate the k4abt_frame_t.
k4a_wait_result_t k4abt_tracker_pop_result(k4abt_tracker_t tracker_handle, k4abt_frame_t *body_frame_handle, int32_t timeout_in_ms)
Gets the next available body frame.
k4a_wait_result_t
k4a_result_t k4abt_tracker_create(const k4a_calibration_t *sensor_calibration, k4abt_tracker_configuration_t config, k4abt_tracker_t *tracker_handle)
Create a body tracker handle.