Батчинг

Все основные методы в SDK распознавания отпечатков пальцев Diametrix (например, Diametrix::Detector::detect или Diametrix::Extractor::extract) являются threadsafe. Это означает, что вы можете запускать обработку разных изображений в несколько потоков одновременно.
Внутренний подбор батча (пакета изоражений для их одновремнной обработки) и балансировка нагрузки реализованы внутри SDK и не требуют реализации сбора батча от интегратора - достаточно просто запустить нужные методы в разных потоках. Все операции будут автоматически обработаны на основе текущей конфигурации с лучшей утилизацией доступных аппаратных ресурсов. Максимальный размер батча указывается в файле конфигурации (см. Конфигурация). Оптимальный размер батча зависит от модели вашего процессора и видеокарты - консультируйтесь с нашими специалистами при подборе батча для конкретного проекта и оборудования.
Например, если хотите детектировать отпечатки на нескольких изображениях, вам нужно запустить:

std::vector<std::shared_ptr<Diametrix::Image>> images;
// ...
// Images loading
// ...
std::vector<std::vector<std::shared_ptr<Diametrix::Detection>> detections;
detections.resize(images.size());
#pragma omp parallel for
for (int k = 0; k < images.size(); ++k) {
detector->detect(images[k], 500, 0.1, detections[k]);
}

Все изображения будут обработаны в пакетном режиме с лучшей производительностью, которую позволяет ваше "железо".