Я разрабатываю настольное приложение с использованием сканера отпечатков пальцев HID digital persona 4500 для проверки пользователей. Проблема заключается в следующем: когда я пытаюсь найти пользователя в большом наборе данных, приложение занимает слишком много времени, не менее 15 секунд для 5000 пользователей. это определенно не оптимально, я мог бы уложиться в 5 секунд, но это слишком много, у меня есть список работников, которые должны зарегистрироваться по прибытии, это код, который я использую для проверки 1:1
Мне нигде не удалось найти SDK 1:N, я написал несколько писем в HID и не получил ответа
public void ProcessSample(Sample sample)
{
if (_verificator == null) return;
var extractor = new FeatureExtraction();
DPFP.Capture.CaptureFeedback feedback = DPFP.Capture.CaptureFeedback.None;
FeatureSet features = new();
extractor.CreateFeatureSet(sample, DataPurpose.Verification, ref feedback, ref features);
if (features != null)
{
try
{
var result = new Verification.Result();
foreach (var user in _fingerPrintAccess.ClientTemplates)
{
_verificator.Verify(features, user.Template, ref result);
OnStatusChanged?.Invoke($"FAR (False Accept Rate): {result.FARAchieved}");
if (result.Verified)
{
OnUserIdentified?.Invoke(_windowSource, user.ClientId);
break;
}
}
}
catch (Exception ex)
{
OnMessageChanged?.Invoke($"Error: {ex.Message}");
}
}
else
{
OnMessageChanged?.Invoke("Calidad de huella insuficiente. Intenta de nuevo.");
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... rification