3DiVi Face SDK
3.24.2
|
VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer. Подробнее...
#include <VideoWorker.h>
Классы | |
struct | DatabaseElement |
Элемент базы. Если имеется несколько шаблонов для одного человека, нужно создать по одному элементу для каждого шаблона с одинаковыми person_id, но разными element_id. Подробнее... | |
struct | MatchFoundCallbackData |
Данные MatchFound коллбэка. Подробнее... | |
struct | Params |
Параметры конструктора VideoWorker. Подробнее... | |
struct | SearchResult |
Результат поиска шаблона (для VideoWorker::MatchFoundCallbackFuncU). Подробнее... | |
struct | StiPersonOutdatedCallbackData |
Данные StiPersonOutdated коллбэка. Подробнее... | |
struct | TemplateCreatedCallbackData |
Данные TemplateCreated коллбэка. Подробнее... | |
struct | TrackingCallbackData |
Данные Tracking коллбэка. Подробнее... | |
struct | TrackingLostCallbackData |
Данные TrackingLost коллбэка. Подробнее... | |
Открытые типы | |
typedef LightSmartPtr < VideoWorker >::tPtr | Ptr |
Псевдоним для типа умного указателя на VideoWorker. | |
typedef void(* | TrackingCallbackFunc )(const int stream_id, const int frame_id, const std::vector< RawSample::Ptr > &samples, const std::vector< bool > &samples_weak, const std::vector< float > &samples_quality, void *const userdata) |
Тип функции коллбэка трекинга (Tracking). Подробнее... | |
typedef void(* | TrackingCallbackU )(const TrackingCallbackData &data, void *const userdata) |
Тип функции коллбэка трекинга (Tracking). Этот коллбэк вызывается каждый раз, когда кадр был обработан трекером. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker::addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker::getTrackingConveyorSize. Подробнее... | |
typedef void(* | TrackingCallbackFuncU )(const TrackingCallbackData &data, void *const userdata) |
Тип функции коллбэка трекинга (Tracking). Подробнее... | |
typedef void(* | TemplateCreatedCallbackFunc )(const int stream_id, const int frame_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated). Подробнее... | |
typedef void(* | TemplateCreatedCallbackU )(const TemplateCreatedCallbackData &data, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated). Подробнее... | |
typedef void(* | TemplateCreatedCallbackFuncU )(const TemplateCreatedCallbackData &data, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated). Подробнее... | |
typedef void(* | MatchFoundCallbackFunc )(const int stream_id, const int frame_id, const uint64_t person_id, const uint64_t element_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, const Recognizer::MatchResult match_result, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound). Подробнее... | |
typedef void(* | MatchFoundCallbackFuncExt )(const int stream_id, const int frame_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, const std::vector< SearchResult > &search_result, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound). Подробнее... | |
typedef void(* | MatchFoundCallbackU )(const MatchFoundCallbackData &data, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound). Подробнее... | |
typedef void(* | MatchFoundCallbackFuncU )(const MatchFoundCallbackData &data, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound). Подробнее... | |
typedef void(* | TrackingLostCallbackFunc )(const int stream_id, const int first_frame_id, const int last_frame_id, const float best_quality, const int best_quality_frame_id, const RawSample::Ptr &best_quality_sample, const Template::Ptr &best_quality_templ, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра). Подробнее... | |
typedef void(* | TrackingLostCallbackU )(const TrackingLostCallbackData &data, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра). Подробнее... | |
typedef void(* | TrackingLostCallbackFuncU )(const TrackingLostCallbackData &data, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра). Подробнее... | |
typedef void(* | StiPersonOutdatedCallbackU )(const StiPersonOutdatedCallbackData &data, void *const userdata) |
Тип функции коллбэка StiPersonOutdated. Подробнее... | |
Открытые члены | |
std::string | getMethodName () const |
Получить имя метода используемого распознавателя. Потокобезопасный. Подробнее... | |
int | getStreamsCount () const |
Получить количество видеопотоков. Потокобезопасный. Подробнее... | |
int | getTrackingConveyorSize (const int stream_id) const |
Получить размер N конвейера трекинга. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker::addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker::getTrackingConveyorSize. Потокобезопасный. Подробнее... | |
void | setDatabase (const std::vector< DatabaseElement > &elements, const Recognizer::SearchAccelerationType acceleration=Recognizer::SEARCH_ACCELERATION_1) |
Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный. Подробнее... | |
int | addVideoFrame (const RawImage frame, const int stream_id, const uint64_t timestamp_microsec=uint64_t(-1)) |
Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках Tracking, MatchFound и TrackingLost. Потокобезопасный. Подробнее... | |
void | addDepthFrame (const DepthMapRaw &depth_frame, const int stream_id, const uint64_t timestamp_microsec) |
Подать кадр определенного видеопотока c данными глубины. Потокобезопасный. Подробнее... | |
void | addIRFrame (const IRFrameRaw &ir_frame, const int stream_id, const uint64_t timestamp_microsec) |
Подать кадр определенного видеопотока c инфракрасными данными. Потокобезопасный. Подробнее... | |
void | resetTrackerOnStream (const int stream_id) |
Сбросить состояние трекера для указанного видеопотока. Потокобезопасный. Подробнее... | |
int | resetStream (const int stream_id) |
Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный. Подробнее... | |
void | checkExceptions () |
Исключения, выброшенные в коллбэках и внутренних потоках, будут выброшены повторно при вызове данного метода. Потокобезопасный. | |
int | addTrackingCallback (const TrackingCallbackFunc callback, void *const userdata) |
Добавить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее... | |
int | addTrackingCallbackU (const TrackingCallbackU callback, void *const userdata) |
Добавить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее... | |
int | addTemplateCreatedCallback (const TemplateCreatedCallbackFunc callback, void *const userdata) |
Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее... | |
int | addTemplateCreatedCallbackU (const TemplateCreatedCallbackU callback, void *const userdata) |
Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее... | |
int | addMatchFoundCallback (const MatchFoundCallbackFunc callback, void *const userdata) |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее... | |
int | addMatchFoundCallbackExt (const MatchFoundCallbackFuncExt callback, void *const userdata) |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее... | |
int | addMatchFoundCallbackU (const MatchFoundCallbackU callback, void *const userdata) |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее... | |
int | addStiPersonOutdatedCallbackU (const StiPersonOutdatedCallbackU callback, void *const userdata) |
Добавить обработчик события StiPersonOutdated. Потокобезопасный. Подробнее... | |
int | addTrackingLostCallback (const TrackingLostCallbackFunc callback, void *const userdata) |
Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее... | |
int | addTrackingLostCallbackU (const TrackingLostCallbackU callback, void *const userdata) |
Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее... | |
void | removeTrackingCallback (const int callback_id) |
Удалить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее... | |
void | removeTemplateCreatedCallback (const int callback_id) |
Удалить обработчик события создания шаблона (TemplateCreated). Потокобезопасный. Подробнее... | |
void | removeMatchFoundCallback (const int callback_id) |
Удалить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее... | |
void | removeStiPersonOutdatedCallback (const int callback_id) |
Удалить обработчик события StiPersonOutdated. Потокобезопасный. Подробнее... | |
void | removeTrackingLostCallback (const int callback_id) |
Удалить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный. Подробнее... | |
void | disableProcessingOnStream (const int stream_id) |
Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный. Подробнее... | |
void | enableProcessingOnStream (const int stream_id) |
Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный. Подробнее... | |
void | disableAgeGenderEstimationOnStream (const int stream_id) |
Отключить определение пола и возраста для данного потока. Потокобезопасный. Подробнее... | |
void | enableAgeGenderEstimationOnStream (const int stream_id) |
Включить определение пола и возраста для данного потока. Потокобезопасный. Подробнее... | |
void | disableEmotionsEstimationOnStream (const int stream_id) |
Отключить определение эмоций для данного потока. Потокобезопасный. Подробнее... | |
void | enableEmotionsEstimationOnStream (const int stream_id) |
Включить определение эмоций для данного потока. Потокобезопасный. Подробнее... | |
Статические открытые данные | |
static const uint64_t | MATCH_NOT_FOUND_ID = (uint64_t) (-1) |
Специальное значение для параметров person_id и element_id в MatchFoundCallback. | |
VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer.
typedef void(* pbio::VideoWorker::MatchFoundCallbackFunc)(const int stream_id, const int frame_id, const uint64_t person_id, const uint64_t element_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, const Recognizer::MatchResult match_result, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound).
[in] | stream_id | см. описание в VideoWorker::MatchFoundCallbackData |
[in] | frame_id | см. описание в VideoWorker::MatchFoundCallbackData |
[in] | person_id | см. search_results в VideoWorker::MatchFoundCallbackData |
[in] | element_id | см. search_results в VideoWorker::MatchFoundCallbackData |
[in] | sample | см. описание в VideoWorker::MatchFoundCallbackData |
[in] | quality | см. описание в VideoWorker::MatchFoundCallbackData |
[in] | templ | см. описание в VideoWorker::MatchFoundCallbackData |
[in] | match_result | см. search_results в VideoWorker::MatchFoundCallbackData |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addMatchFoundCallback. |
typedef void(* pbio::VideoWorker::MatchFoundCallbackFuncExt)(const int stream_id, const int frame_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, const std::vector< SearchResult > &search_result, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound).
Аналогичен VideoWorker::MatchFoundCallbackFunc, но возвращает все элементы с расстоянием меньше distance_threshold (но не более k ближайших элементов; величина k установлена в конфигурационном файле под тегом search_k).
При вызове после N последовательных несовпадений первый элемент в search_result будет иметь нулевое расстояние, а person_id и element_id равны VideoWorker::MATCH_NOT_FOUND_ID.
typedef void(* pbio::VideoWorker::MatchFoundCallbackFuncU)(const MatchFoundCallbackData &data, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound).
typedef void(* pbio::VideoWorker::MatchFoundCallbackU)(const MatchFoundCallbackData &data, void *const userdata) |
Тип функции коллбэка распознавания (MatchFound).
Когда для отслеживаемого лица создается шаблон, он сравнивается с каждым шаблоном из базы, и если расстояние до ближайшего элемента оказывается меньше порога distance_threshold, указанного в этом элементе, то фиксируется совпадение.
MatchFoundCallbackData::search_results содержит все элементы с расстоянием меньше distance_threshold (но не более k ближайших элементов; величина k установлена в конфигурационном файле под тегом search_k).
Этот коллбэк вызывается после N последовательных совпадений с элементами, относящимися к одному и тому же человеку.
Число N может быть задано в конфигурационном файле в тэге <consecutive_match_count_for_match_found_callback>.
Гарантируется, что этот коллбэк будет вызван после как минимум одного Tracking коллбэка и перед TrackingLost коллбэком с тем же stream_id и track_id (track_id = sample->getID()).
Также, установив значение ‘1’ для тэга <not_found_match_found_callback> можно включить вызов этого коллбэка после N последовательных несовпадений (т.е. когда ближайший элемент оказывается дальше его порога distance_threshold). В этом случае match_result первого элемента в MatchFoundCallbackData::search_results будет с нулевым расстоянием, а person_id и element_id будут равны VideoWorker::MATCH_NOT_FOUND_ID.
[in] | data | Данные MatchFound коллбэка. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addMatchFoundCallbackU. |
typedef void(* pbio::VideoWorker::StiPersonOutdatedCallbackU)(const StiPersonOutdatedCallbackData &data, void *const userdata) |
Тип функции коллбэка StiPersonOutdated.
[in] | data | Данные StiPersonOutdated коллбэка. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addStiPersonOutdatedCallbackU. |
typedef void(* pbio::VideoWorker::TemplateCreatedCallbackFunc)(const int stream_id, const int frame_id, const RawSample::Ptr &sample, const float quality, const Template::Ptr &templ, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated).
[in] | stream_id | см. описание в VideoWorker::TemplateCreatedCallbackData |
[in] | frame_id | см. описание в VideoWorker::TemplateCreatedCallbackData |
[in] | sample | см. описание в VideoWorker::TemplateCreatedCallbackData |
[in] | quality | см. описание в VideoWorker::TemplateCreatedCallbackData |
[in] | templ | см. описание в VideoWorker::TemplateCreatedCallbackData |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTemplateCreatedCallback. |
typedef void(* pbio::VideoWorker::TemplateCreatedCallbackFuncU)(const TemplateCreatedCallbackData &data, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated).
typedef void(* pbio::VideoWorker::TemplateCreatedCallbackU)(const TemplateCreatedCallbackData &data, void *const userdata) |
Тип функции коллбэка создания шаблона (TemplateCreated).
Этот коллбэк вызывается каждый раз, когда в VideoWorker создается шаблон.
Гарантируется, что этот коллбэк будет вызван после как минимум одного Tracking коллбэка и перед TrackingLost коллбэком с тем же stream_id и track_id (track_id = sample->getID()).
[in] | data | Данные TemplateCreated коллбэка. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTemplateCreatedCallbackU. |
typedef void(* pbio::VideoWorker::TrackingCallbackFunc)(const int stream_id, const int frame_id, const std::vector< RawSample::Ptr > &samples, const std::vector< bool > &samples_weak, const std::vector< float > &samples_quality, void *const userdata) |
Тип функции коллбэка трекинга (Tracking).
[in] | stream_id | см. описание в VideoWorker::TrackingCallbackData |
[in] | frame_id | см. описание в VideoWorker::TrackingCallbackData |
[in] | samples | см. описание в VideoWorker::TrackingCallbackData |
[in] | samples_weak | см. описание в VideoWorker::TrackingCallbackData |
[in] | samples_quality | см. описание в VideoWorker::TrackingCallbackData |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTrackingCallback. |
typedef void(* pbio::VideoWorker::TrackingCallbackFuncU)(const TrackingCallbackData &data, void *const userdata) |
Тип функции коллбэка трекинга (Tracking).
typedef void(* pbio::VideoWorker::TrackingCallbackU)(const TrackingCallbackData &data, void *const userdata) |
Тип функции коллбэка трекинга (Tracking). Этот коллбэк вызывается каждый раз, когда кадр был обработан трекером. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker::addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker::getTrackingConveyorSize.
Tracking коллбэки с одинаковым stream_id вызываются в порядке возрастания значения frame_id. Поэтому если вы получили коллбэк со значениями stream_id=2 и frame_id=102 сразу после коллбэка со значениями stream_id=2 и frame_id=100, значит, кадр со значением frame_id=101 был пропущен для видеопотока 2.
[in] | data | Данные Tracking коллбэка. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTrackingCallbackU. |
typedef void(* pbio::VideoWorker::TrackingLostCallbackFunc)(const int stream_id, const int first_frame_id, const int last_frame_id, const float best_quality, const int best_quality_frame_id, const RawSample::Ptr &best_quality_sample, const Template::Ptr &best_quality_templ, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра).
[in] | stream_id | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | first_frame_id | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | last_frame_id | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | best_quality | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | best_quality_frame_id | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | best_quality_sample | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | best_quality_templ | см. описание в VideoWorker::TrackingLostCallbackData. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTrackingLostCallback. |
typedef void(* pbio::VideoWorker::TrackingLostCallbackFuncU)(const TrackingLostCallbackData &data, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра).
typedef void(* pbio::VideoWorker::TrackingLostCallbackU)(const TrackingLostCallbackData &data, void *const userdata) |
Тип функции коллбэка потери трекинга лица (TrackingLost) (например, когда человек вышел из кадра).
Гарантируется, что этот коллбэк будет последним для пары <stream_id, track_id> (track_id равен sample.getID() для сэмпла в любом VideoWorker коллбэке).
Т.е. после него ни один Tracking, MatchFound или TrackingLost коллбэк для видеопотока stream_id не может содержать сэмпла с этим же track_id.
Также гарантируется, что для каждой пары <stream_id, track_id>, которая была упомянута в Tracking коллбэке, будет только один TrackingLost коллбэк.
[in] | data | Данные TrackingLost коллбэка. |
[in] | userdata | Указатель на данные, поданные пользователем при вызове метода VideoWorker::addTrackingLostCallbackU. |
|
inline |
Подать кадр определенного видеопотока c данными глубины. Потокобезопасный.
[in] | depth_frame | Кадр глубины (DepthMapRaw). |
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
[in] | timestamp_microsec | Временная метка кадра в микросекундах |
|
inline |
Подать кадр определенного видеопотока c инфракрасными данными. Потокобезопасный.
[in] | ir_frame | Инфракрасный кадр (IRFrameRaw). |
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
[in] | timestamp_microsec | Временная метка кадра в микросекундах |
|
inline |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события StiPersonOutdated. Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события трекинга (Tracking). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события трекинга (Tracking). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Добавить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
|
inline |
Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках Tracking, MatchFound и TrackingLost. Потокобезопасный.
[in] | frame | Изображение кадра. Допустимы только цветные изображения (т.е. IRawImage::FORMAT_RGB, IRawImage::FORMAT_BGR, IRawImage::FORMAT_YUV_NV21 и IRawImage::FORMAT_YUV_NV12). |
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
[in] | timestamp_microsec | Временная метка кадра в микросекундах |
|
inline |
Отключить определение пола и возраста для данного потока. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Отключить определение эмоций для данного потока. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Включить определение пола и возраста для данного потока. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Включить определение эмоций для данного потока. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Получить имя метода используемого распознавателя. Потокобезопасный.
|
inline |
Получить количество видеопотоков. Потокобезопасный.
|
inline |
Получить размер N конвейера трекинга. Tracking коллбэк будет вызван с frame_id = X не раньше, чем VideoWorker::addVideoFrame вернет значение X + N - 1, где N - значение, которое вернул VideoWorker::getTrackingConveyorSize. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Удалить обработчик события распознавания (MatchFound). Потокобезопасный.
[in] | callback_id | Идентификатор коллбэка, полученный от VideoWorker::addMatchFoundCallback или VideoWorker::addMatchFoundCallbackExt. |
|
inline |
Удалить обработчик события StiPersonOutdated. Потокобезопасный.
[in] | callback_id | Целочисленный идентификатор коллбэка, полученный от VideoWorker::addStiPersonOutdatedCallbackU. |
|
inline |
Удалить обработчик события создания шаблона (TemplateCreated). Потокобезопасный.
[in] | callback_id | Идентификатор коллбэка, полученный от VideoWorker::addTemplateCreatedCallback. |
|
inline |
Удалить обработчик события трекинга (Tracking). Потокобезопасный.
[in] | callback_id | Идентификатор коллбэка, полученный от VideoWorker::addTrackingCallback. |
|
inline |
Удалить обработчик события потери трекинга лица (TrackingLost). Потокобезопасный.
[in] | callback_id | Идентификатор коллбэка, полученный от VideoWorker::addTrackingLostCallback. |
|
inline |
Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Сбросить состояние трекера для указанного видеопотока. Потокобезопасный.
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
|
inline |
Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный.
[in] | elements | Вектор элементов базы. |
[in] | acceleration | Тип ускорения поиска. |