2016-06-30 26 views
0

Am Versuch, Fingerabdruck Vorlage mit digitalen Persona 4500 und One Touch SDK und die Größe der Vorlage, die ich bleibe immer erhalten ist 1632 Bytes, zu registrieren, Wie kann ich die Größe der Vorlage im Byte-Array auf weniger als 800 Byte reduzieren/komprimieren, damit ich sie in einer NFC/RFID MIFARE 1k-Karte speichern kann?C# wie Fingerabdruck Vorlage Byte Größe zu passen in Mifare 1k Karte mit digitalen Persona One Touch SDK

protected override void Process(DPFP.Sample Sample) 
      { 
       base.Process(Sample); 

       // Process the sample and create a feature set for the enrollment purpose. 
       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 
       { 
        MakeReport("The fingerprint feature set was created."); 
        Enroller.AddFeatures(features);  // Add feature set to template. 
       } 
       finally { 
        UpdateStatus(); 

        // Check if template has been created. 
        switch(Enroller.TemplateStatus) 
        { 
         case DPFP.Processing.Enrollment.Status.Ready: // report success and stop capturing 
          OnTemplate(Enroller.Template); 
          SetPrompt("Click Close, and then click Fingerprint Verification."); 
          Stop(); 
          break; 

         case DPFP.Processing.Enrollment.Status.Failed: // report failure and restart capturing 
          Enroller.Clear(); 
          Stop(); 
          UpdateStatus(); 
          OnTemplate(null); 
          Start(); 
          break; 
        } 
       } 
      } 
+0

Vielleicht gibt es Methode im SDK, um proprietäre Vorlage in ISO-Vorlage zu konvertieren (zum Beispiel ISO FMC CS, die die kleinste Größe ist). Gibt es ein öffentliches Dokument zu SDK? – LaurentY

+0

Das SDK ist nicht öffentlich, Die Template-Konvertierung wird vom SDK nicht unterstützt, einige Methoden, die ich hier sehen kann, sind ConvertToANSI381 (Sample, Ref-Byte []) und ConvertToPicture (Sample, Ref-Byte []) – ben

+0

Ich muss das Byte konvertieren Array zu einer Zeichenfolge oder hexadezimal, die mir (3264 Zeichen), die ich in der nfc/rfid 1k-Karte speichern muss und konvertieren sie zurück in Byte-Array für die Überprüfung, die sehr gut funktioniert. Alle Konvertierungen, die ich versucht habe, geben mir die gleiche Anzahl an Bytes, ich kann nicht herausfinden, wie ich es auf weniger als 400 Bytes reduzieren kann. – ben

Antwort

0

Nur ein Vorschlag. Wie wäre es, wenn Sie z.B. nur die "Identität NEIN" (eindeutiger Schlüssel) einer Person in die nfc/rfid-mifare-Karte hat dann z. eine SQL-basierte Datenbank irgendwo, wo Sie dieselbe "Identität NEIN" gegen die Fingerabdruck-Vorlagen der Person speichern, so dass, wenn die Mifare-Karte zur Verifizierung vorgelegt wird, die "Identität NEIN" verwendet wird, um gegen dieselbe gespeicherte Fingerabdruck-Vorlagen abzurufen Identity NO 'zur Verifizierung von der SQL-Datenbank?

+0

Danke, aber ich kann das nicht tun, ich brauche die Fingerabdruckdaten auf der Karte für die Offline-Funktionalität des Systems, ich möchte nur einen Server und mehrere Client-PCs einrichten, so dass das System nicht die Drucke von einem db – ben

+0

holen sollte In diesem Fall müssen Sie möglicherweise die nfc/rfid 1K-Mifare-Karte deaktivieren und sich für eine andere mit einer größeren beschreibbaren Speichergröße entscheiden. –

+0

Ich kann eine Mifare 4k bekommen, aber das erlaubt mir nur einen Fingerabdruck Daten zu speichern (das ist 3264 Bytes), aber das ist, wenn ich keine Optionen mehr habe, muss ich mindestens 2 Fingerabdruck-Vorlagen speichern. – ben