SRSDK  0.10.39
Loading...
Searching...
No Matches
Face Tracking

Face tracking on Leia devices. More...

Data Structures

struct  leia_headtracking_frame_listener
 Face tracking frame listener. More...
 
struct  leia_headtracking_frame
 Face tracking frame. More...
 

Macros

#define leia_headtracking_frame_get_device_acceleration_VERSION   (1)
 
#define leia_headtracking_frame_get_device_gyroscope_VERSION   (1)
 
#define leia_headtracking_frame_get_eye_3d_centers_VERSION   (1)
 

Typedefs

typedef void(* leia_headtracking_on_frame_cb) (OWNING(struct leia_headtracking_frame *) frame, void *userData)
 Face Tracking frame callback.
 
typedef leia_bool(* leia_headtracking_frame_get_device_acceleration) (struct leia_headtracking_frame *, struct leia_vector3 *)
 Get the device acceleration.
 
typedef leia_bool(* leia_headtracking_frame_get_device_gyroscope) (struct leia_headtracking_frame *, struct leia_vector3 *)
 Get the device gyroscope.
 
typedef leia_bool(* leia_headtracking_frame_get_eye_3d_centers) (struct leia_headtracking_frame *, struct leia_headtracking_eye_3d_centers *, int32_t *numFaces)
 

Functions

LEIA_NODISCARD LEIASDK_API leia_headtracking_frame_listener_alloc (struct leia_core_library *, leia_headtracking_on_frame_cb onFrameCb, void *userData, leia_free_user_data_cb freeUserDataCb)
 Allocate face tracking frame listener.
 
LEIASDK_API void leia_headtracking_frame_listener_release (OWNING(struct leia_headtracking_frame_listener *) listener)
 Free face tracking frame listener.
 
LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_tracking_result (struct leia_headtracking_frame *, struct leia_headtracking_tracking_result *)
 
LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_raw_faces (struct leia_headtracking_frame *, struct leia_headtracking_raw_faces *)
 
LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_detected_faces (struct leia_headtracking_frame *, struct leia_headtracking_detected_faces *)
 
LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_profiling (struct leia_headtracking_frame *, struct leia_headtracking_frame_profiling *)
 
LEIASDK_API float leia_headtracking_frame_get_lux (struct leia_headtracking_frame *)
 Get current camera-detected lux value if available.
 
LEIASDK_API void leia_headtracking_frame_release (struct leia_headtracking_frame *)
 

Detailed Description

Face tracking on Leia devices.

Macro Definition Documentation

◆ leia_headtracking_frame_get_device_acceleration_VERSION

#define leia_headtracking_frame_get_device_acceleration_VERSION   (1)

◆ leia_headtracking_frame_get_device_gyroscope_VERSION

#define leia_headtracking_frame_get_device_gyroscope_VERSION   (1)

◆ leia_headtracking_frame_get_eye_3d_centers_VERSION

#define leia_headtracking_frame_get_eye_3d_centers_VERSION   (1)

Typedef Documentation

◆ leia_headtracking_on_frame_cb

typedef void(* leia_headtracking_on_frame_cb) (OWNING(struct leia_headtracking_frame *) frame, void *userData)

Face Tracking frame callback.

This callback is invoked from a background thread. And it might still be called after disabling the listener due to asynchronicity. Calling it must be valid until leia_free_user_data_cb has been called.

Note: the handler is responsible for releasing the frame (

See also
leia_headtracking_frame_release)

◆ leia_headtracking_frame_get_device_acceleration

typedef leia_bool(* leia_headtracking_frame_get_device_acceleration) (struct leia_headtracking_frame *, struct leia_vector3 *)

Get the device acceleration.

It's an experimental API, see leia_get_experimental_api for more info.

◆ leia_headtracking_frame_get_device_gyroscope

typedef leia_bool(* leia_headtracking_frame_get_device_gyroscope) (struct leia_headtracking_frame *, struct leia_vector3 *)

Get the device gyroscope.

By default, gyroscope device is not active. To activate, set CNSDK_SENSOR_MANAGER_GYROSCOPE environment variable.

It's an experimental API, see leia_get_experimental_api for more info.

◆ leia_headtracking_frame_get_eye_3d_centers

typedef leia_bool(* leia_headtracking_frame_get_eye_3d_centers) (struct leia_headtracking_frame *, struct leia_headtracking_eye_3d_centers *, int32_t *numFaces)

Function Documentation

◆ leia_headtracking_frame_listener_alloc()

LEIA_NODISCARD LEIASDK_API leia_headtracking_frame_listener_alloc ( struct leia_core_library ,
leia_headtracking_on_frame_cb  onFrameCb,
void *  userData,
leia_free_user_data_cb  freeUserDataCb 
)
related

Allocate face tracking frame listener.

Parameters
onFrameCbframe callback
userDatauser-provided pointer passed into callbacks [optional]
freeUserDataCbcallback used to free the userData [optional]

◆ leia_headtracking_frame_listener_release()

LEIASDK_API void leia_headtracking_frame_listener_release ( OWNING(struct leia_headtracking_frame_listener *)  listener)

Free face tracking frame listener.

◆ leia_headtracking_frame_get_tracking_result()

LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_tracking_result ( struct leia_headtracking_frame ,
struct leia_headtracking_tracking_result  
)

◆ leia_headtracking_frame_get_raw_faces()

LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_raw_faces ( struct leia_headtracking_frame ,
struct leia_headtracking_raw_faces  
)

◆ leia_headtracking_frame_get_detected_faces()

LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_detected_faces ( struct leia_headtracking_frame ,
struct leia_headtracking_detected_faces  
)

◆ leia_headtracking_frame_get_profiling()

LEIASDK_API leia_headtracking_status leia_headtracking_frame_get_profiling ( struct leia_headtracking_frame ,
struct leia_headtracking_frame_profiling  
)

◆ leia_headtracking_frame_get_lux()

LEIASDK_API float leia_headtracking_frame_get_lux ( struct leia_headtracking_frame )

Get current camera-detected lux value if available.

◆ leia_headtracking_frame_release()

LEIASDK_API void leia_headtracking_frame_release ( struct leia_headtracking_frame )