Page 4 of 4

Re: extract minutiae features

PostPosted: Aug 10, 2015 14:16
by MartynasV
nora wrote:hello,
I tried the tutorial "Show TemplateContentCS" to extract the information about minutiae ( x, y and theta format) but i couldn"t.
Any idea about how to get the minutiae information from finger template? (I am using SDK 5-1 trial version.)

Best regards,

Hello,

Please explain what do you mean by "i couldn't".

Following lines prints minutia's x, y coordinates and angle in ShowTemplateContentCS tutorial:
Code: Select all
Console.WriteLine("\t\tx: {0}", minutia.X);
Console.WriteLine("\t\ty: {0}", minutia.Y);
Console.WriteLine("\t\tangle: {0}", RotationToDegrees(minutia.RawAngle));


You can look into NTemplateSample, but tutorial is more basic.
"SDK\Samples\Biometrics\CS\NTemplateSampleCS"

NFRecord and NFinger

PostPosted: Oct 24, 2015 12:14
by fly
I am using VeriFinger version 6, basically I used to extract NFRecords and then save them in the db as byte arrays. Things are fine and no complaints.

Now, I am planning to use SDK 8.0 which is quite different. With this NSubject and NFinger. Before I used to have a class called person which has a property "NFRecord[]" that has all fingers which I can get from the db and convert to NFRecord.

How do I construct a NSubject object with it is NFinger objest from the db now? all I have saved in the db is NFRecords in byte arrays? should I change the db structure to save NSubject directly or can I still use the same structure and somehow construct the NFingers from the current NFRecord?

Admin: merged to "Fingerprint enrollment questions"

Re: NFRecord and NFinger

PostPosted: Oct 27, 2015 07:10
by Martynas
fly wrote:I am using VeriFinger version 6, basically I used to extract NFRecords and then save them in the db as byte arrays. Things are fine and no complaints.

Now, I am planning to use SDK 8.0 which is quite different. With this NSubject and NFinger. Before I used to have a class called person which has a property "NFRecord[]" that has all fingers which I can get from the db and convert to NFRecord.

How do I construct a NSubject object with it is NFinger objest from the db now? all I have saved in the db is NFRecords in byte arrays? should I change the db structure to save NSubject directly or can I still use the same structure and somehow construct the NFingers from the current NFRecord?

Hello,

NFRecords are not NFingers. To construct the NSubject from the NFRecord use the NSubject.SetTemplate method to use your NFRecord.

Re: Fingerprint enrollment questions

PostPosted: Nov 15, 2015 12:23
by Hubble
Hello

I"m trying to enroll two finger prints simultaneously.

From the other topics in this Forum I"ve seen that it is possible to build a combined NSubject
by putting one finger after the other on the scanner.

Based on the EnrollFromScanner sample I can reproduce this szenario with my system.

But is it possible to process two prints by putting two fingers at the same time on the scanner?

Thank you for your help.

Enrolling two finger prints on once

PostPosted: Nov 15, 2015 12:26
by Hubble
Hello

I"m trying to enroll two finger prints simultaneously.

From the other topics in this Forum I"ve seen that it is possible to build a combined NSubject
by putting one finger after the other on the scanner.

Based on the EnrollFromScanner sample I can reproduce this szenario with my system.

But is it possible to process two prints by putting two fingers at the same time on the scanner?

Thank you for your help.

Re: Enrolling two finger prints on once

PostPosted: Nov 16, 2015 15:55
by vaidasz
Hubble wrote:Hello

I"m trying to enroll two finger prints simultaneously.

From the other topics in this Forum I"ve seen that it is possible to build a combined NSubject
by putting one finger after the other on the scanner.

Based on the EnrollFromScanner sample I can reproduce this szenario with my system.

But is it possible to process two prints by putting two fingers at the same time on the scanner?

Thank you for your help.


Hello,

Yes, it is possible. Basically, you need to merge EnrollFromScanner and SegmentFingers tutorials. Please check them.

NFIQ check For RAW image

PostPosted: Dec 19, 2015 09:23
by pratikxeb
Hello,
I gone through tutorial code for "EvaluateFingerQuality" from that I am able to get nfiq value for fingerprint images. I want this from raw data.
I want to tell you that I have done this for iris by using NImageCreateFromDataEx() this api and then set that image as iris handle using NIrisSetImage(). I could not find this for fingerprint images.
So my question is How can i get nfiq value for fingerprint raw data..???

Thanks

Admin: merged to "Fingerprint enrollment questions"

Re: NFIQ check For RAW image

PostPosted: Dec 28, 2015 14:13
by MartynasV
pratikxeb wrote:Hello,
I gone through tutorial code for "EvaluateFingerQuality" from that I am able to get nfiq value for fingerprint images. I want this from raw data.
I want to tell you that I have done this for iris by using NImageCreateFromDataEx() this api and then set that image as iris handle using NIrisSetImage(). I could not find this for fingerprint images.
So my question is How can i get nfiq value for fingerprint raw data..???

Thanks

Hello,

Get NImage using NImageCreateFromDataEx() function,then use NFrictionRidgeSetImage(hFinger, hImage) function to set that image to HNFinger.

Re: NFIQ check For RAW image

PostPosted: Dec 30, 2015 07:34
by pratikxeb
MartynasV wrote:Hello,

Get NImage using NImageCreateFromDataEx() function,then use NFrictionRidgeSetImage(hFinger, hImage) function to set that image to HNFinger.

Hello,
Thank you for reply.
Actually I used NFrictionRidgeSetImage(hFinger, hImage) as you said, now I am getting error as biometric status: InvalidSampleResolution.
One more observation that I found is, when I am converting same raw image in WSQ format then "EvaluateFingerQuality" tutorial code is working fine for WSQ image. So, can you please tell me why such error is coming for raw image?

Thanks

Re: NFIQ check For RAW image

PostPosted: Dec 30, 2015 10:06
by MartynasV
pratikxeb wrote:Hello,
Thank you for reply.
Actually I used NFrictionRidgeSetImage(hFinger, hImage) as you said, now I am getting error as biometric status: InvalidSampleResolution.
One more observation that I found is, when I am converting same raw image in WSQ format then "EvaluateFingerQuality" tutorial code is working fine for WSQ image. So, can you please tell me why such error is coming for raw image?

Thanks

Hello,

This error means that the image was not set with its resolution. It is very important for fingerprint extraction, that the image would have a correct resolution set. If the image is from scanner, then usually it will be the 500 dpi as vertical and horizontal resolution of the image. Please ensure that your image has resolution set. Minimum resolution is 250, if you don't know real image resolution, then set it to 500.

NImageSetHorzResolution(image, res)
NImageSetVertResolution(image, res)

Re: NFIQ check For RAW image

PostPosted: Jan 05, 2016 11:53
by pratikxeb
MartynasV wrote:Hello,

This error means that the image was not set with its resolution. It is very important for fingerprint extraction, that the image would have a correct resolution set. If the image is from scanner, then usually it will be the 500 dpi as vertical and horizontal resolution of the image. Please ensure that your image has resolution set. Minimum resolution is 250, if you don't know real image resolution, then set it to 500.

NImageSetHorzResolution(image, res)
NImageSetVertResolution(image, res)

Thank You.. it Worked Perfect.. :) :)

Enroll multiple fingers

PostPosted: Feb 02, 2016 16:23
by Jiward
Hello

With EnrollWithDuplicateCheck operation, I want that person can afford to enroll for different fingers. Currently only it allows me to enroll a record. Enrolación operation is performed at different times

Thank you!
Cheers

Admin: merged to "Fingerprint enrollment questions"

Re: Enroll multiple fingers

PostPosted: Feb 04, 2016 10:01
by Martynas
Jiward wrote:Hello

With EnrollWithDuplicateCheck operation, I want that person can afford to enroll for different fingers. Currently only it allows me to enroll a record. Enrolación operation is performed at different times

Thank you!
Cheers

Hello,

please explain in details what you need to achieve.

Re: Enroll multiple fingers

PostPosted: Feb 04, 2016 15:25
by Jiward
Martynas wrote:Hello,

please explain in details what you need to achieve.

Hi, I solved the problem, concatenating in the subjectid the ID the Contact + Hand + Finger

Re: Enroll multiple fingers

PostPosted: Feb 05, 2016 07:52
by Martynas
Jiward wrote:Hi, I solved the problem, concatenating in the subjectid the ID the Contact + Hand + Finger

Hi,

actually the SDK has a possibility to use a multiple fingerprints in one template. This will allow you to avoid using multiple records of the same user in the database and use one record per user. Take a look at tutorial CreateMultiFingerTemplate, which shows how to create multi-finger template.

Re: Fingerprint enrollment questions

PostPosted: Feb 21, 2016 22:01
by umarshaibu
Hello,

Please i have problem enrolling captured finger print to SQL Database. Here is my code so far
Code: Select all
try
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
                con.Open();

                const string sSQL = "INSERT INTO tblRecords(indId,SubjectId,Templage) VALUES (@d1,@d2,@d3)";
                SqlCommand cmd = new SqlCommand(sSQL, con);

                // Individual ID
                cmd.Parameters.Add(new SqlParameter("@d1", SqlDbType.VarChar, 128) { Value = txtId.Text });

                // Individual ID
                cmd.Parameters.Add(new SqlParameter("@d2", SqlDbType.VarChar, 128) { Value = _subjectFinger });

                //MemoryStream MemStream = new MemoryStream();
                //Byte[] DataPic_Update = null;

                //_subjectFinger.SaveImage(MemStream, Image);
                //DataPic_Update = MemStream.GetBuffer();
                //MemStream.Read(DataPic_Update, 0, DataPic_Update.Length);

                // Individual Image
                cmd.Parameters.Add(new SqlParameter("@d3", SqlDbType.Image) { Value = _subject });

                int temp = cmd.ExecuteNonQuery();

                if (temp > 0)
                {
                    con.Close();
                    //Interaction.MsgBox("Individual Record Added Successfully... ", MsgBoxStyle.Information, "Record Saved");
                }
                else
                {
                    //Interaction.MsgBox("Record not added Successful... ", MsgBoxStyle.Critical, "Registration failed");
                    return;
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Data Error");
                return;
            }


what i am trying to achieve is to match each registered user to there finger print using the user id. Help please

Re: Fingerprint enrollment questions

PostPosted: Feb 22, 2016 08:58
by Martynas
umarshaibu wrote:Hello,

Please i have problem enrolling captured finger print to SQL Database. Here is my code so far
Code: Select all
try
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
                con.Open();

                const string sSQL = "INSERT INTO tblRecords(indId,SubjectId,Templage) VALUES (@d1,@d2,@d3)";
                SqlCommand cmd = new SqlCommand(sSQL, con);

                // Individual ID
                cmd.Parameters.Add(new SqlParameter("@d1", SqlDbType.VarChar, 128) { Value = txtId.Text });

                // Individual ID
                cmd.Parameters.Add(new SqlParameter("@d2", SqlDbType.VarChar, 128) { Value = _subjectFinger });

                //MemoryStream MemStream = new MemoryStream();
                //Byte[] DataPic_Update = null;

                //_subjectFinger.SaveImage(MemStream, Image);
                //DataPic_Update = MemStream.GetBuffer();
                //MemStream.Read(DataPic_Update, 0, DataPic_Update.Length);

                // Individual Image
                cmd.Parameters.Add(new SqlParameter("@d3", SqlDbType.Image) { Value = _subject });

                int temp = cmd.ExecuteNonQuery();

                if (temp > 0)
                {
                    con.Close();
                    //Interaction.MsgBox("Individual Record Added Successfully... ", MsgBoxStyle.Information, "Record Saved");
                }
                else
                {
                    //Interaction.MsgBox("Record not added Successful... ", MsgBoxStyle.Critical, "Registration failed");
                    return;
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Data Error");
                return;
            }


what i am trying to achieve is to match each registered user to there finger print using the user id. Help please

Hello,

please provide the detailed description of the issue, as your post doe snot indicate any problems. Also the code snippet, you have posted, does not have any code related to our SDK.

Re: Fingerprint enrollment questions

PostPosted: Feb 22, 2016 09:39
by umarshaibu
Martynas wrote:Hello,

please provide the detailed description of the issue, as your post doe snot indicate any problems. Also the code snippet, you have posted, does not have any code related to our SDK.


Hello,

The issue is i want to preview the captured finger print image to System.picturebox not neurotech finger view gui. Thanks

Re: Fingerprint enrollment questions

PostPosted: Feb 23, 2016 08:09
by Martynas
Hi,

umarshaibu wrote:The issue is i want to preview the captured finger print image to System.picturebox not neurotech finger view gui. Thanks


Convert the captured NImage to Bitmap and assign it to PictureBox.Image.

Code: Select all

NImage image = capturedImage;
Bitmap bitmapImage = image.ToBitmap();
PictureBox.Image = bitmapImage;


Finger Enrollment From Scanner

PostPosted: Mar 25, 2016 13:33
by vishal2060
I"m new to neurotechnology. I want to enroll fingerprint template from scanner. I picked up code from the sample and run it
Code: Select all
import java.io.IOException;
import java.util.EnumSet;
import java.util.Scanner;

import com.neurotec.biometrics.NBiometricStatus;
import com.neurotec.biometrics.NFinger;
import com.neurotec.biometrics.NSubject;
import com.neurotec.biometrics.NTemplateSize;
import com.neurotec.biometrics.client.NBiometricClient;
import com.neurotec.devices.NDeviceManager;
import com.neurotec.devices.NDeviceType;
import com.neurotec.devices.NFScanner;
import com.neurotec.devices.NDeviceManager.DeviceCollection;
import com.neurotec.io.NFile;
import com.neurotec.lang.NCore;
import com.neurotec.licensing.NLicense;
import com.neurotec.samples.util.LibraryManager;
//import com.neurotec.samples.util.Utils;

public final class EnrollFingerFromScanner {
   private static final String DESCRIPTION = "Demonstrates fingerprint feature extraction from fingerprint scanning device.";
   private static final String NAME = "enroll-finger-from-scanner";
   private static final String VERSION = "6.0.0.0";

   private static void usage() {
      System.out.println("usage:");
      System.out.format("   %s [image] [template]%n", NAME);
      System.out.println("   [image]    - image filename to store scanned image.");
      System.out.println("   [template] - filename to store finger template.");
   }

   public static void main(String[] args) throws IOException {
      final String components = "Biometrics.FingerExtraction,Devices.FingerScanners";

      LibraryManager.initLibraryPath();

      //Utils.printTutorialHeader(DESCRIPTION, NAME, VERSION, args);

      if (args.length < 2) {
         usage();
         System.exit(1);
      }

      NBiometricClient biometricClient = null;
      NSubject subject = null;
      NFinger finger = null;
      
      //try {
               
         //if (!NLicense.obtainComponents("/local", 5000, components)) {
         //   System.err.format("Could not obtain licenses for components: %s%n", components);
         //   System.exit(-1);
         //}
               
         biometricClient = new NBiometricClient();
         subject = new NSubject();
         finger = new NFinger();

         biometricClient.setUseDeviceManager(true);
         NDeviceManager deviceManager = biometricClient.getDeviceManager();

         deviceManager.setDeviceTypes(EnumSet.of(NDeviceType.FINGER_SCANNER));

         deviceManager.initialize();

         DeviceCollection devices = deviceManager.getDevices();

         if (devices.size() > 0) {
            System.out.format("Found %d fingerprint scanner
", devices.size());
         } else {
            System.out.format("No scanners found
");
            return;
         }

         if (devices.size() > 1)
            System.out.println("Please select finger scanner from the list:");

         for (int i = 0; i < devices.size(); i++)
            System.out.format("   %d. %s
", i + 1, devices.get(i).getDisplayName());

         int selection = 0;
         if (devices.size() > 1) {
                    try (Scanner scanner = new Scanner(System.in)) {
                        selection = scanner.nextInt() - 1;
                    }
         }

         biometricClient.setFingerScanner((NFScanner) devices.get(selection));

         subject.getFingers().add(finger);

         System.out.println("Capturing....");
         NBiometricStatus status = biometricClient.capture(subject);

         biometricClient.setFingersTemplateSize(NTemplateSize.LARGE);

         status = biometricClient.createTemplate(subject);

         if (status == NBiometricStatus.OK) {
            System.out.println("Template extracted");
         } else {
            System.out.format("Extraction failed: %s
", status);
            System.exit(-1);
         }

         subject.getFingers().get(0).getImage().save(args[0]);
         System.out.println("Fingerprint image saved successfully...");

         NFile.writeAllBytes(args[1], subject.getTemplate().save());
         System.out.println("Template file saved successfully...");
      /*} catch (Throwable th) {
         //Utils.handleError(th);
      } finally {
         try {
         //   NLicense.releaseComponents(components);
         //   NCore.shutdown();
         } catch (Throwable th){
                           
                        }
         if (finger != null) finger.dispose();
         if (subject != null) subject.dispose();
         if (biometricClient != null) biometricClient.dispose();
      }*/
   }
}




the error is

Code: Select all
run:
Exception in thread "main" java.lang.ExceptionInInitializerError
   at com.neurotec.lang.NCore.<clinit>(NCore.java:131)
   at com.neurotec.lang.NObject.<clinit>(NObject.java:193)
   at EnrollFingerFromScanner.main(EnrollFingerFromScanner.java:55)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library "NCore": JNA native support (win32-amd64/NCore.dll) not found in resource path (C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJavajna.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics-client.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics-gui.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-core.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-devices.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-gui.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-licensing.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-media-processing.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-media.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJavasamples-utils.jar;C:UsersVishalVishwasDocumentsNetBeansProjectsEnrollScanneruildclasses)
   at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:220)
   at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
   at com.neurotec.lang.NCore.<clinit>(NCore.java:123)
   ... 2 more
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)


plz help me to correct it.

Admin: merged to "Fingerprint enrollment questions"

Re: Finger Enrollment From Scanner

PostPosted: Mar 29, 2016 11:09
by vaidasz
vishal2060 wrote:I"m new to neurotechnology. I want to enroll fingerprint template from scanner. I picked up code from the sample and run it
Code: Select all
import java.io.IOException;
import java.util.EnumSet;
import java.util.Scanner;

import com.neurotec.biometrics.NBiometricStatus;
import com.neurotec.biometrics.NFinger;
import com.neurotec.biometrics.NSubject;
import com.neurotec.biometrics.NTemplateSize;
import com.neurotec.biometrics.client.NBiometricClient;
import com.neurotec.devices.NDeviceManager;
import com.neurotec.devices.NDeviceType;
import com.neurotec.devices.NFScanner;
import com.neurotec.devices.NDeviceManager.DeviceCollection;
import com.neurotec.io.NFile;
import com.neurotec.lang.NCore;
import com.neurotec.licensing.NLicense;
import com.neurotec.samples.util.LibraryManager;
//import com.neurotec.samples.util.Utils;

public final class EnrollFingerFromScanner {
   private static final String DESCRIPTION = "Demonstrates fingerprint feature extraction from fingerprint scanning device.";
   private static final String NAME = "enroll-finger-from-scanner";
   private static final String VERSION = "6.0.0.0";

   private static void usage() {
      System.out.println("usage:");
      System.out.format("   %s [image] [template]%n", NAME);
      System.out.println("   [image]    - image filename to store scanned image.");
      System.out.println("   [template] - filename to store finger template.");
   }

   public static void main(String[] args) throws IOException {
      final String components = "Biometrics.FingerExtraction,Devices.FingerScanners";

      LibraryManager.initLibraryPath();

      //Utils.printTutorialHeader(DESCRIPTION, NAME, VERSION, args);

      if (args.length < 2) {
         usage();
         System.exit(1);
      }

      NBiometricClient biometricClient = null;
      NSubject subject = null;
      NFinger finger = null;
      
      //try {
               
         //if (!NLicense.obtainComponents("/local", 5000, components)) {
         //   System.err.format("Could not obtain licenses for components: %s%n", components);
         //   System.exit(-1);
         //}
               
         biometricClient = new NBiometricClient();
         subject = new NSubject();
         finger = new NFinger();

         biometricClient.setUseDeviceManager(true);
         NDeviceManager deviceManager = biometricClient.getDeviceManager();

         deviceManager.setDeviceTypes(EnumSet.of(NDeviceType.FINGER_SCANNER));

         deviceManager.initialize();

         DeviceCollection devices = deviceManager.getDevices();

         if (devices.size() > 0) {
            System.out.format("Found %d fingerprint scanner
", devices.size());
         } else {
            System.out.format("No scanners found
");
            return;
         }

         if (devices.size() > 1)
            System.out.println("Please select finger scanner from the list:");

         for (int i = 0; i < devices.size(); i++)
            System.out.format("   %d. %s
", i + 1, devices.get(i).getDisplayName());

         int selection = 0;
         if (devices.size() > 1) {
                    try (Scanner scanner = new Scanner(System.in)) {
                        selection = scanner.nextInt() - 1;
                    }
         }

         biometricClient.setFingerScanner((NFScanner) devices.get(selection));

         subject.getFingers().add(finger);

         System.out.println("Capturing....");
         NBiometricStatus status = biometricClient.capture(subject);

         biometricClient.setFingersTemplateSize(NTemplateSize.LARGE);

         status = biometricClient.createTemplate(subject);

         if (status == NBiometricStatus.OK) {
            System.out.println("Template extracted");
         } else {
            System.out.format("Extraction failed: %s
", status);
            System.exit(-1);
         }

         subject.getFingers().get(0).getImage().save(args[0]);
         System.out.println("Fingerprint image saved successfully...");

         NFile.writeAllBytes(args[1], subject.getTemplate().save());
         System.out.println("Template file saved successfully...");
      /*} catch (Throwable th) {
         //Utils.handleError(th);
      } finally {
         try {
         //   NLicense.releaseComponents(components);
         //   NCore.shutdown();
         } catch (Throwable th){
                           
                        }
         if (finger != null) finger.dispose();
         if (subject != null) subject.dispose();
         if (biometricClient != null) biometricClient.dispose();
      }*/
   }
}




the error is

Code: Select all
run:
Exception in thread "main" java.lang.ExceptionInInitializerError
   at com.neurotec.lang.NCore.<clinit>(NCore.java:131)
   at com.neurotec.lang.NObject.<clinit>(NObject.java:193)
   at EnrollFingerFromScanner.main(EnrollFingerFromScanner.java:55)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library "NCore": JNA native support (win32-amd64/NCore.dll) not found in resource path (C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJavajna.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics-client.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics-gui.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-biometrics.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-core.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-devices.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-gui.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-licensing.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-media-processing.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJava
eurotec-media.jar;C:Program Files (x86)NeurotechnologyNeurotec Biometric 6.0 SDK TrialBinJavasamples-utils.jar;C:UsersVishalVishwasDocumentsNetBeansProjectsEnrollScanneruildclasses)
   at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:220)
   at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
   at com.neurotec.lang.NCore.<clinit>(NCore.java:123)
   ... 2 more
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)


plz help me to correct it.


Hello,

The exception message means that the native libraries could not be found. The libraries you need to use are *.dll and they are located at SDK\Bin\Win32_x86 (or SDK\Bin\Win64_x64, depending on what JVM you use).

Re: Fingerprint enrollment questions

PostPosted: Apr 04, 2016 07:33
by rajPrabha59
Hi all,
Can anyone suggest me if there is any way to convert templates/images already enrolled in .wsq/.raw/FIR format to ISO-IEC19794-2 format

Re: Fingerprint enrollment questions

PostPosted: Apr 05, 2016 06:54
by Martynas
rajPrabha59 wrote:Hi all,
Can anyone suggest me if there is any way to convert templates/images already enrolled in .wsq/.raw/FIR format to ISO-IEC19794-2 format

Hello,

first of all you need to extract the template from image, then convert it to ISO-IEC19794-2 format template.
EnrollFingerFromImage tutorial shows how to extract template from the image. In case of the WSQ image, you will need to obtain the license for the Images.WSQ component.
In case of the raw image, you will need to use NImage.FromData method to load the image.
In case of the FIR record, take a look at tutorial FIRecordToNTemplate.

Use the tutorial NTemplateToFMRecord to convert extracted template to ISO-IEC19794-2 format template.

Re: Fingerprint enrollment questions

PostPosted: Apr 05, 2016 12:23
by Martinis
Hi,

I have a similar problem. I want to convert _subjectFinger to byte array or bitmap in c# or vb. currently saving to directory like this : _subjectFinger.Image.Save(saveFileDialog.FileName);



but want to do something like this:

Byte[] bytes = null;
_subjectFinger.Save(bytes );


or

Bitmap bmp = (Bitmap)subjectFinger.Image;


Thanks

Re: Fingerprint enrollment questions

PostPosted: Apr 11, 2016 13:18
by Martynas
Martinis wrote:Hi,

I have a similar problem. I want to convert _subjectFinger to byte array or bitmap in c# or vb. currently saving to directory like this : _subjectFinger.Image.Save(saveFileDialog.FileName);



but want to do something like this:

Byte[] bytes = null;
_subjectFinger.Save(bytes );


or

Bitmap bmp = (Bitmap)subjectFinger.Image;


Thanks


NFinger is not serializeable object. So it is not possible to save it as bytes.
But if you need to save the image in NFinger as bytes or Bitmap, then this can be done.

Save as byte array:

Code: Select all
byte[] imageBytes = _subjectFinger.Image.Save().ToArray();


Save as Bitmap:

Code: Select all
Bitmap bmp = _subjectFinger.Image.ToBitmap();

verifinger minutia extraction

PostPosted: Apr 15, 2016 16:51
by Hayaksu
Q1: What are the steps that verifinger follows in order to extract minutia from fingerprint image? (e.g. Binirization, thinning)?

Q2: What minutia feature that verifinger extract ? (e.g. x, y coordinates, orientation, type (bifurcation or termination))

Admin: merged to "Fingerprint enrollment questions"

Re: verifinger minutia extraction

PostPosted: Apr 18, 2016 10:28
by Martynas
Hi,

Hayaksu wrote:Q1: What are the steps that verifinger follows in order to extract minutia from fingerprint image? (e.g. Binirization, thinning)?


We do not provide this information, as it is our intellectual property.

Hayaksu wrote:Q2: What minutia feature that verifinger extract ? (e.g. x, y coordinates, orientation, type (bifurcation or termination))


The algorithm extracts: x and y coordinates, angle, type, ridge counts, ridge density.

Sending image to server (fingerprint)

PostPosted: May 10, 2016 09:17
by tvoisin
Hi everyone,

The way I understood the architecture client/server is that we can have 2 possibilities:
- Only Capture image clientside and then Extract and Match serverside
- Capture and Extract clientside and then Match serverside
Am I right? :)

Well, if yes, I chose the second solution. I"m new in the SDK and I"m currently trying to figure out how to send an image to the server to identify (extract and match) the fingerprint.
Unfortunatly, in Tutorials and Samples I can only find template-sending functions wich does not help me ... :)

By the way what is the difference between a Task and a NBiometricTask?

Thank you for your help!

(Using Java on Trial SDK)

Admin: merged to "Fingerprint enrollment questions"

Re: Sending image to server (fingerprint)

PostPosted: May 11, 2016 10:25
by Martynas
Hello,

tvoisin wrote:- Only Capture image clientside and then Extract and Match serverside


Image extraction can be done on server only if the NServer is used as matching server. In such case take a look at tutorial "create-finger-template-on-server".
In case if you will not be using the NServer and would like to implement same functionality, then you will need to implement the communication between your client application and your server application by yourself.

tvoisin wrote:Capture and Extract clientside and then Match serverside


Tutorial "enroll-finger-from-scanner" shows how to capture and extract the template from fingerprint scanner. Use this extracted template with tutorial "identify-on-server" to send it for matching to NServer or MegaMatcher Accelerator.

tvoisin wrote:By the way what is the difference between a Task and a NBiometricTask?
.

Actually the "task" should be of NBiometricTask type. Have you found a different thing anywhere in samples/tutorials?

Re: Sending image to server (fingerprint)

PostPosted: May 12, 2016 11:42
by tvoisin
Martynas wrote:Hello,

tvoisin wrote:- Only Capture image clientside and then Extract and Match serverside


Image extraction can be done on server only if the NServer is used as matching server. In such case take a look at tutorial "create-finger-template-on-server".
In case if you will not be using the NServer and would like to implement same functionality, then you will need to implement the communication between your client application and your server application by yourself.

tvoisin wrote:Capture and Extract clientside and then Match serverside


Tutorial "enroll-finger-from-scanner" shows how to capture and extract the template from fingerprint scanner. Use this extracted template with tutorial "identify-on-server" to send it for matching to NServer or MegaMatcher Accelerator.

tvoisin wrote:By the way what is the difference between a Task and a NBiometricTask?
.

Actually the "task" should be of NBiometricTask type. Have you found a different thing anywhere in samples/tutorials?

Hello !

Thank you for your answer. I"ll use the first solution by extracting and matching serverside.

I took a look at tutorial "create-finger-template-on-server" (I did not saw it before...) and that"s ok now I know how to create a template serverside (I"ll use NServer).
However, in this tutorial, the template is created and then retrieved by the client (which next is able to ask for an identifying task). And it"s kind of overloading the connection with two round trips.

Is there a way to ask the server to do both template creation and template matching in the same task?

Thank you again.

Re: Sending image to server (fingerprint)

PostPosted: May 13, 2016 13:17
by vaidasz
tvoisin wrote:Hello !

Thank you for your answer. I"ll use the first solution by extracting and matching serverside.

I took a look at tutorial "create-finger-template-on-server" (I did not saw it before...) and that"s ok now I know how to create a template serverside (I"ll use NServer).
However, in this tutorial, the template is created and then retrieved by the client (which next is able to ask for an identifying task). And it"s kind of overloading the connection with two round trips.

Is there a way to ask the server to do both template creation and template matching in the same task?

Thank you again.


Hello,

At the moment it is not possible to do. The template is sent back to the client and the enrollment operation is performed.

Re: Sending image to server (fingerprint)

PostPosted: May 17, 2016 08:20
by tvoisin
vaidasz wrote:
tvoisin wrote:Hello !

Thank you for your answer. I"ll use the first solution by extracting and matching serverside.

I took a look at tutorial "create-finger-template-on-server" (I did not saw it before...) and that"s ok now I know how to create a template serverside (I"ll use NServer).
However, in this tutorial, the template is created and then retrieved by the client (which next is able to ask for an identifying task). And it"s kind of overloading the connection with two round trips.

Is there a way to ask the server to do both template creation and template matching in the same task?

Thank you again.


Hello,

At the moment it is not possible to do. The template is sent back to the client and the enrollment operation is performed.

Hi !

Well, if it's not available, ok :D

Thank you for your help,
Regards,

extract fingrprint from .bmp to minutiae in C#

PostPosted: Jun 15, 2016 08:04
by ibnu
Currently I am doing bit extraction from fingerprint minutiae. I using Lumidigm Scanner. Anyone can provide sample code in C# for extracting the minutia and export into text file? thanks in advance!

best Regards,


Wildan

Admin: merged to "Fingerprint enrollment questions"

Re: extract fingrprint from .bmp to minutiae in C#

PostPosted: Jun 22, 2016 08:25
by vaidasz
ibnu wrote:Currently I am doing bit extraction from fingerprint minutiae. I using Lumidigm Scanner. Anyone can provide sample code in C# for extracting the minutia and export into text file? thanks in advance!

best Regards,


Wildan


Hello Wildan,

There is Neurotec_Biometric_9_0_SDK\Tutorials\Biometrics\CS\EnrollFingerFromScannerCS provided with SDK that shows how to extract the template.
The information of minutia points could be found at subject.GetTemplate().Fingers.Records[0].Minutiae (C# code) – there will be collection of minutiae points provided. Save whatever information you want to the text file.

Which SDK I need to count the ridges ?

PostPosted: Sep 16, 2016 09:56
by runnan
Hi all,

I need to know your SDK can support to do it or not? I already searched a link http://www.neurotechnology.com/neurotec-forum/viewtopic.php?p=85342, but I can find the library to follow it (NFExtractor, NfeExtractionStatus, NGrayscaleImage), maybe it already changed to another.
Could you please clarify it for me?

Thanks so much & have you a nice day

Admin: merged to "Fingerprint enrollment questions"

Re: Which SDK I need to count the ridges ?

PostPosted: Sep 20, 2016 13:21
by vaidasz
runnan wrote:Hi all,

I need to know your SDK can support to do it or not? I already searched a link http://www.neurotechnology.com/neurotec-forum/viewtopic.php?p=85342, but I can find the library to follow it (NFExtractor, NfeExtractionStatus, NGrayscaleImage), maybe it already changed to another.
Could you please clarify it for me?

Thanks so much & have you a nice day


Hello,

The API has been changed from Neurotec Biometric 5.0 SDK. And now you need to use NBiometricClient instead.
I would recommend you to download latest version of Neurotec Biometric 9.0 SDK trial from http://download.neurotechnology.com/Neu ... -08-26.zip website and check tutorials provided with SDK (SDK\Tutorials\Biometrics\[PROGRAMMING_LANGUAGE]).

Multiple Feature Vectors

PostPosted: Sep 28, 2016 08:48
by Leith Abed
Hello All,

I would like to find out if I can get more than one feature vector from a certain SDK by neurotechnology, such as VeriFinger SDK.

Many thanks,
Leith

Admin: merged to "Fingerprint enrollment questions"

Re: Multiple Feature Vectors

PostPosted: Sep 28, 2016 12:32
by Martynas
Leith Abed wrote:Hello All,

I would like to find out if I can get more than one feature vector from a certain SDK by neurotechnology, such as VeriFinger SDK.

Many thanks,
Leith

Hello,

could you please explain what do you mean?
Do you mean to extract multiple templates from the same fingerprint image or what?

Re: Multiple Feature Vectors

PostPosted: Nov 15, 2016 14:14
by Leith Abed
Martynas wrote:Hello,

could you please explain what do you mean?
Do you mean to extract multiple templates from the same fingerprint image or what?

Thanks for your reply.

Yes I mean can I get multiple templates from the same fingerprint image?

Re: Multiple Feature Vectors

PostPosted: Nov 16, 2016 11:34
by Martynas
Leith Abed wrote:Thanks for your reply.

Yes I mean can I get multiple templates from the same fingerprint image?

Hi,

it makes no sense to get multiple templates as they all will be the same template.
Could you please explain why do you need to extract multiple templates?

Re: Fingerprint enrollment questions

PostPosted: Jul 31, 2017 04:23
by mohamadhatami
hi

how can cross match between
1)fingers
2)irises
3)faces
in one ntemplate?
i want find the repeated fingers,irises,faces in one nTemplate and prevent fraud

Re: Fingerprint enrollment questions

PostPosted: Jul 31, 2017 07:28
by Martynas
Hello,

if you want to prevent that same finger, face or iris would be duplicate in the same template, then you need to retrieve finger, iris and face records from that template and match each against other.