Adatok elérése a testkeretben
Ez a cikk a törzskeretben található adatokat és az adatok elérésére használható függvényeket ismerteti.
A következő függvények tartoznak a hatálya alá:
- 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()
A törzskeret fő összetevői
Minden törzskeret tartalmaz egy törzsszerkezet-gyűjteményt, egy 2D-s törzsindex-térképet és az eredményt generáló bemeneti rögzítést.
A törzsszerkezetek gyűjteményének elérése
Egyetlen rögzítés több testet is észlelhet. A testek számát a k4abt_frame_get_num_bodies() függvény meghívásával kérdezheti le.
size_t num_bodies = k4abt_frame_get_num_bodies(body_frame);
A k4abt_frame_get_body_id() és a k4abt_frame_get_body_skeleton() függvény használatával iterálhatja az egyes törzsindexeket a törzsazonosító és a közös pozíció/tájolás információinak megkereséséhez.
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);
}
A törzsindex-térkép elérése
A k4abt_frame_get_body_index_map() függvénnyel érheti el a törzsindex-térképet. A törzsindex-térkép részletes magyarázatáért tekintse meg a törzsindex-térképet . Mindenképpen engedje fel a törzsindex-térképet, ha már nincs rá szükség.
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);
Hozzáférés a bemeneti rögzítéshez
A törzskövető egy aszinkron API. Előfordulhat, hogy az eredeti rögzítés már ki lett adva az eredmény megjelenésekor. A k4abt_frame_get_capture() függvénnyel kérdezheti le a törzskövetési eredmény létrehozásához használt bemeneti rögzítést. A k4a_capture_t hivatkozásainak száma a függvény minden meghívásakor megnő. Használja k4a_capture_release() függvényt, ha már nincs szükség a rögzítésre.
k4a_capture_t input_capture = k4abt_frame_get_capture(body_frame);
... // Do your work with the input capture
k4a_capture_release(input_capture);