Создать FeatureSet в SDK Digital Person Fingerprint SDK

Я создаю систему проверки отпечатков пальцев на С#. у меня цифровой персона U.are.U 4500 считыватель отпечатков пальцев. я читаю sdk, чтобы создать собственное приложение, но я застрял на шаге «FeatureExtraction». это дает мне ошибку при добавлении функций в шаблон, говорит: «Ссылка на объект не установлена ​​​​на экземпляр объекта. я проверил свой код и инициировал свой объект регистрации в верхней части проекта как общедоступный, но ошибка все та же. вот мой код, который дает мне ошибку.

DPFP.FeatureSet features = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Enrollment);

        // Check quality of the sample and add to enroller if it's good
        if (features != null) try
            {
                Enroller.AddFeatures(features);     // Add feature set to template.
                MessageBox.Show("The fingerprint feature set was created.");
            }

вот функция «ExtractFeatures», которая правильно возвращает объект функций.

protected DPFP.FeatureSet ExtractFeatures(DPFP.Sample Sample, DPFP.Processing.DataPurpose Purpose)
    {
        DPFP.Processing.FeatureExtraction Extractor = new DPFP.Processing.FeatureExtraction();  // Create a feature extractor
        DPFP.Capture.CaptureFeedback feedback = DPFP.Capture.CaptureFeedback.None;

        Extractor.CreateFeatureSet(Sample, Purpose, ref feedback, ref features);            // TODO: return features as a result?
        if (feedback == DPFP.Capture.CaptureFeedback.Good)
            return features;
        else
            return null;
    }

если кто-то может помочь, пожалуйста, помогите мне решить мою проблему. Благодарность


person Delicate Hiba    schedule 24.04.2017    source источник


Ответы (1)


Пожалуйста, проверьте следующее в вашем коде:

  1. Определение метода для ExtractFeatures: protected DPFP.FeatureSet ExtractFeatures (пример DPFP.Sample, DPFP.Processing.DataPurpose Purpose)

Вы передаете регистрацию типа параметра вместо типа параметра DataPurpose, который не определен.

Функции DPFP.FeatureSet = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Enrollment);

  1. Кроме того, внутри вашего метода ExtractFeatures вы возвращаете переменные функции, которые не объявлены внутри вашего метода. Код должен быть следующим:

    защищенный DPFP.FeatureSet ExtractFeatures(DPFP.Sample Sample, DPFP.Processing.DataPurpose Purpose) { DPFP.Processing.FeatureExtraction Extractor = new DPFP.Processing.FeatureExtraction(); // Создание экстрактора признаков DPFP.Capture.CaptureFeedback feedback = DPFP.Capture.CaptureFeedback.None; Функции DPFP.FeatureSet = new DPFP.FeatureSet(); Extractor.CreateFeatureSet(Образец, Цель, обратная связь по ссылке, функции по ссылке); // TODO: вернуть функции в результате? если (обратная связь == DPFP.Capture.CaptureFeedback.Good) вернуть функции; иначе вернуть ноль; }

Надеюсь, это поможет.

person dsalas    schedule 07.08.2017