Face SDK  1.13.0 Mozart release
Face Recognition Software Development Kit
Modules | Classes | Typedefs | Functions
c interface

Modules

 Face recognition
 
 Track
 
 Track item
 
 Track item set
 
 Tracker config
 
 Event callbacks
 

Classes

struct  face_sdk__tracker
 Tracker object tracks persons in the video stream and collects faces of the same person in one track. More...
 

Typedefs

typedef struct face_sdk__tracker face_sdk__tracker_t
 Tracker object tracks persons in the video stream and collects faces of the same person in one track. More...
 

Functions

bool face_sdk__tracker__get_addr (const face_sdk__tracker_t *tracker, uint64_t *addr)
 Retrieves face_sdk__tracker_t object address * *. More...
 
bool face_sdk__tracker__make_stream (const face_sdk__tracker_t *tracker, uint32_t stream_id, face_sdk__video_stream_t **video_stream)
 The function makes a video stream. More...
 
bool face_sdk__tracker__free_stream (const face_sdk__tracker_t *tracker, const face_sdk__video_stream_t *video_stream)
 The function releases stream from tracker object. More...
 
bool face_sdk__tracker__commit_frames (const face_sdk__tracker_t *tracker)
 The function processes all pushed frames. All events will be raised. More...
 
bool face_sdk__tracker__get_version (const face_sdk__tracker_t *tracker, uint32_t *value)
 Algorithm version. See Face Tracker versions. More...
 
bool face_sdk__make_tracker (const face_sdk__tracker_config_t *config, face_sdk__tracker_t **tracker)
 Makes Tracker object. More...
 
void face_sdk__tracker_free (face_sdk__tracker_t *tracker)
 Destroys face_sdk__tracker object. More...
 

Detailed Description

Module tracks persons in the video stream and collects faces of the same person in one track.

Typedef Documentation

◆ face_sdk__tracker_t

Tracker object tracks persons in the video stream and collects faces of the same person in one track.

Use face_sdk__make_tracker() functions to instantiate an object of this type.

Warning
This module uses face detector module (see Face detector), so make sure that your license allows to use face detector. See Licensing.

Usage scenario:

  1. Call one of face_sdk__make_tracker() function to get a face_sdk__tracker instance. This requires implementing callback functions.
  2. Call face_sdk__tracker__make_stream(uint32_t) and get a face_sdk__video_stream object for each video to be processed
  3. Decode video and push any number of frames into face_sdk__video_stream. Call face_sdk__video_stream::push_frame(const face_sdk__video_frame_t *)
  4. Call face_sdk__tracker__commit_frames() - all pushed frames will be processed in batch. All events will be raised. repeat steps 3 and 4 until a video is ended
  5. Call face_sdk__tracker__free_stream() for each ended video stream

Function Documentation

◆ face_sdk__make_tracker()

bool face_sdk__make_tracker ( const face_sdk__tracker_config_t config,
face_sdk__tracker_t **  tracker 
)

Makes Tracker object.

Parameters
[in]configTracker Config object made with face_sdk__make_tracker_config() function
[out]trackerTracker object
Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker__commit_frames()

bool face_sdk__tracker__commit_frames ( const face_sdk__tracker_t tracker)

The function processes all pushed frames. All events will be raised.

Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker__free_stream()

bool face_sdk__tracker__free_stream ( const face_sdk__tracker_t tracker,
const face_sdk__video_stream_t video_stream 
)

The function releases stream from tracker object.

Parameters
[in]trackerTracker object made with face_sdk__make_tracker() function
[in]video_streamStream to be released.
Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker__get_addr()

bool face_sdk__tracker__get_addr ( const face_sdk__tracker_t tracker,
uint64_t *  addr 
)

Retrieves face_sdk__tracker_t object address * *.

Parameters
[in]trackerface_sdk__tracker_t object *
[out]addrObject address * *
Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker__get_version()

bool face_sdk__tracker__get_version ( const face_sdk__tracker_t tracker,
uint32_t *  value 
)

Algorithm version. See Face Tracker versions.

Parameters
[in]trackerTracker object made with face_sdk__make_tracker() function
[out]valueTracker version
Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker__make_stream()

bool face_sdk__tracker__make_stream ( const face_sdk__tracker_t tracker,
uint32_t  stream_id,
face_sdk__video_stream_t **  video_stream 
)

The function makes a video stream.

Parameters
[in]trackerTracker object made with face_sdk__make_tracker() function
[in]stream_idUse face_sdk__video_stream__get_stream_id() to get stream_id. Tracker object can't have two streams with the same ids at the same time.
Returns
true on success, false on failure. See last_error

◆ face_sdk__tracker_free()

void face_sdk__tracker_free ( face_sdk__tracker_t tracker)

Destroys face_sdk__tracker object.

Parameters
[in]trackerTracker object made with face_sdk__make_tracker() function