VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer.
Подробнее...
#import <VideoWorker.h>
|
(int) | - addTrackingCallbackU:: |
| Добавить обработчик события трекинга (Tracking). Потокобезопасный. Подробнее...
|
|
(int) | - addMatchFoundCallbackU:: |
| Добавить обработчик события распознавания (MatchFound). Потокобезопасный. Подробнее...
|
|
(void) | - addHandlerCallback: |
| Добавить обработчик события. Потокобезопасный. Подробнее...
|
|
(int) | - addVideoFrame:: |
| Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках Tracking, MatchFound и TrackingLost. Потокобезопасный. Подробнее...
|
|
(void) | - setDatabase: |
| Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный. Подробнее...
|
|
(void) | - enableProcessingOnStream: |
| Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный. Подробнее...
|
|
(void) | - disableProcessingOnStream: |
| Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный. Подробнее...
|
|
(void) | - resetStream: |
| Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный. Подробнее...
|
|
VideoWorker - интерфейсный объект для трекинга, обработки и распознавания лиц на нескольких видеопотоках. Рекомендуется использовать VideoWorker вместо Capturer для детекции лиц на видеопотоках. Если при создании VideoWorker указаны параметры matching_thread=0 и processing_thread=0, то потребляется обычная лицензия Capturer.
- (void) addHandlerCallback: |
|
(CallbackHandler *_Nonnull) |
handler |
|
Добавить обработчик события. Потокобезопасный.
- Аргументы
-
[in] | handler | Указатель на пользовательский класс унаследованного от CallbackHandler. |
- (int) addMatchFoundCallbackU: |
|
(const void *_Nonnull) |
callback |
: |
|
(void *_Nonnull const) |
userdata |
|
|
| |
Добавить обработчик события распознавания (MatchFound). Потокобезопасный.
- Аргументы
-
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
- Возвращает
- Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker::removeMatchFoundCallback, чтобы отписаться.
- (int) addTrackingCallbackU: |
|
(const void *_Nonnull) |
callback |
: |
|
(void *_Nonnull const) |
userdata |
|
|
| |
Добавить обработчик события трекинга (Tracking). Потокобезопасный.
- Аргументы
-
[in] | callback | Функция коллбэка. |
[in] | userdata | Любой указатель. При вызове коллбэка он будет передан через аргумент userdata. |
- Возвращает
- Целочисленный идентификатор коллбэка. Используйте его для передачи в VideoWorker::removeTrackingCallback, чтобы отписаться.
- (int) addVideoFrame: |
|
(RawImage *_Nonnull) |
image |
: |
|
(int) |
stream_id |
|
|
| |
Подать новый кадр определенного видеопотока. Результаты трекинга и распознавания будут возвращаться асинхронно в коллбэках 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 | Временная метка кадра в микросекундах |
- Возвращает
- Целочисленный идентификатор кадра, уникальный для этого видеопотока, который будет использоваться в коллбэках для обозначения этого кадра.
- (void) disableProcessingOnStream: |
|
(const int) |
stream_id |
|
Отключить генерацию шаблонов для данного потока. Соответственно, сравнения также остановятся. Потокобезопасный.
- Аргументы
-
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
- (void) enableProcessingOnStream: |
|
(const int) |
stream_id |
|
Включить генерацию шаблонов для данного потока. Соответственно, сравнения также возобновятся. Потокобезопасный.
- Аргументы
-
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
- (void) resetStream: |
|
(const int) |
stream_id |
|
Сбросить состояние работы для указанного видеопотока. В процессе происходит ожидание выполняющихся в данный момент коллбэков, поэтому не синхронизируйте вызов resetStream с кодом внутри коллбэков, иначе возможен deadlock. После возврата управления от resetStream не будет вызвано ни одного коллбэка, относящегося к предыдущим кадрам или трекам. Необходимо освободить память, выделенную для треков, track_id которых меньше возвращенного значения, так как для треков, удаленных в процессе этого сброса, TrackingLost коллбэк вызван не будет. Потокобезопасный.
- Аргументы
-
[in] | stream_id | Целочисленный идентификатор видеопотока (0 <= stream_id < streams_count). |
- Возвращает
- Целое число track_id_threshold, означающее, что все удаленные в ходе resetStream треки имели track_id < track_id_threshold, а все новые треки будут иметь track_id >= track_id_threshold.
Задать / заменить базу (можно вызывать в любое время). Доступно только при ненулевом количестве потоков сравнения (matching_threads_count). Потокобезопасный.
- Аргументы
-
[in] | elements | Вектор элементов базы. |