A
FBI Certified WSQ SDK Wavelet Scalar Quantization
Fingerprint SDK Library
Our fingerprint SDK, provides several key features which makes working with fingerprints easy. Fingerprint segmentation, Quality Assessment, Encoding and Matching.
Fingerprint Segmentation
From any image our algorithm can automatically detect and segment fingerprints. You can also apply an optional overlay to show the placement of the segments.
Fingerprint Quality Assessment
Images can been checked for the presence of a fingerprint as well as grading the fingerprint using the standard NFIQ Fingerprint Image Quality.

A typical fingerprint card results in approximately 10 megabytes of scanned bitmap data, thanks to our WSQ implementation this can be massively reduced to less than 1megabyte in size.

Request 30 day FREE SDK Trial
Encoding
Our fingerprint encoder produces standards based templates using the latest ANSI INCITS 378-2009 specification.
Matching
Many pieces of information are used during matching including minutia location, ridge flow, ridge counts, classifications, core and deltas. Our SDK provide easy 1-1 or 1-many matching functions.
Integration
Supports the leading development environments.
  • C++ / C# / VB / Perl / Java
  • Thread safe
  • Rapid Application development
  • Comprehensive SDK documentation
  • Bring your application to market faster
Code Examples
Code Example - Encode and Match using Java
// file: EncodeAndMatch.java // This file illustrates the use of the IDX Fingerprint API using Java import com.netxsolutions.idx.fingerprint.FingerprintWrapper; import com.netxsolutions.idx.fingerprint.FingerPosition; public class EncodeAndMatch { static { System.loadLibrary("FingerprintWrapperJava"); } public static void main(String argv[]) { System.out.println("Encode and Match Demo"); System.out.println("Encoding Left Thumb... "); int ret = FingerprintWrapper.CreateFingerTemplate("..\\sample files\\LeftThumb1.bmp", "C:/IDX - Example Output/LeftThumb1.fmr",0,0,FingerPosition.LEFT_THUMB); if (ret<0) { System.out.println("Error: " + ret); } System.out.println("Encoding Second Left Thumb... "); ret = FingerprintWrapper.CreateFingerTemplate("..\\sample files\\LeftThumb2.bmp", "C:/IDX - Example Output/LeftThumb2.fmr",0,0,FingerPosition.LEFT_THUMB); if (ret<0) { System.out.println("Error: " + ret); } System.out.println("Encoding Right Thumb... "); ret = FingerprintWrapper.CreateFingerTemplate("..\\sample files\\RightThumb1.bmp", "C:/IDX - Example Output/RightThumb1.fmr",0,0,FingerPosition.RIGHT_THUMB); if (ret<0) { System.out.println("Error: " + ret); } // Compare Left Thumb with second scan of Left Thumb System.out.print("Comparing prints (Left Thumbs)... "); ret = FingerprintWrapper.CompareFingerTemplate("C:/IDX - Example Output/LeftThumb1.fmr", "C:/IDX - Example Output/LeftThumb2.fmr"); if (ret<0) { System.out.println("Error: " + ret); }else{ if (ret>40) { System.out.println("MATCH score (" + ret + ")"); }else{System.out.println("NO MATCH");} } // Compare Left Thumb with Right Thumb System.out.print("Comparing prints (Left Thumb with Right Thumb)... "); ret = FingerprintWrapper.CompareFingerTemplate("C:/IDX - Example Output/RightThumb1.fmr", "C:/IDX - Example Output/LeftThumb2.fmr"); if (ret<0) { System.out.println("Error: " + ret); }else{ if (ret>40) { System.out.println("MATCH score (" + ret + ")"); }else{System.out.println("NO MATCH");} } } }
Code Example - Obtain NFIQ score using Java
// file: NFIQFromFile.java // This file illustrates the use of the IDX Fingerprint API using Java import com.netxsolutions.idx.fingerprint.FingerprintWrapper; public class NFIQFromFile { static { System.loadLibrary("FingerprintWrapperJava"); } public static void main(String argv[]) { float[] score = new float[1]; int ret = FingerprintWrapper.CheckQuality("..\\sample files\\RightThumb1.bmp", score); System.out.println("NFIQ Result Code:" + ret); System.out.println("NFIQ Score:" + score[0]); } }
Code Example - Segmenting four fingers using Java
// file: Segmentation.java // This file illustrates the use of the IDX Fingerprint API using Java import com.netxsolutions.idx.fingerprint.FingerPosition; import com.netxsolutions.idx.fingerprint.Segmentor; import com.netxsolutions.idx.fingerprint.segment; public class Segmentation { static { System.loadLibrary("FingerprintWrapperJava"); } public static void main(String argv[]) { float[] score = new float[1]; Segmentor segmentor = new Segmentor(); // Load a four finger slap int ret = segmentor.LoadImageFromFile("..\\sample files\\LeftSlap.bmp",0,0); System.out.println("Segmentor Load Image Result: " + ret); if (ret==0) { ret = segmentor.Segment(FingerPosition.PLAIN_LEFT_FOUR_FINGERS); System.out.println("Segmentor Result: " + ret); for (int segIndex=0;segIndex<4;segIndex++) { segment seg = segmentor.GetSegmentedLocation(segIndex); System.out.println("Segment1: " + seg.getX() + "," + seg.getY() + " - " + seg.getWidth() + "," + seg.getHeight() + " Angle: " + seg.getRotation()); segmentor.GetNFIQ(segIndex,score); System.out.println("NFIQ Score:" + score[0]); } ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//SegmentTest1.bmp",0); System.out.println("Save Segment1: " + ret); ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//SegmentTest2.bmp",1); System.out.println("Save Segment2: " + ret); ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//SegmentTest3.bmp",2); System.out.println("Save Segment3: " + ret); ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//SegmentTest4.bmp",3); System.out.println("Save Segment4: " + ret); } } }
Code Example - Segmenting two fingers using Java
// file: SegmentationTwoFingers.java // This file illustrates the use of the IDX Fingerprint API using Java import com.netxsolutions.idx.fingerprint.FingerPosition; import com.netxsolutions.idx.fingerprint.Segmentor; import com.netxsolutions.idx.fingerprint.segment; public class SegmentationTwoFingers { static { System.loadLibrary("FingerprintWrapperJava"); } public static void main(String argv[]) { float[] score = new float[1]; Segmentor segmentor = new Segmentor(); // Load a four finger slap int ret = segmentor.LoadImageFromFile("..\\sample files\\Left_Index_Middle.bmp",0,0); System.out.println("Segmentor Load Image Result: " + ret); if (ret==0) { // When segmenting Dual Fingers use LEFT_AND_RIGHT_THUMBS option ret = segmentor.Segment(FingerPosition.LEFT_AND_RIGHT_THUMBS); System.out.println("Segmentor Result: " + ret); for (int segIndex=0;segIndex<2;segIndex++) { segment seg = segmentor.GetSegmentedLocation(segIndex); System.out.println("Segment1: " + seg.getX() + "," + seg.getY() + " - " + seg.getWidth() + "," + seg.getHeight() + " Angle: " + seg.getRotation()); segmentor.GetNFIQ(segIndex,score); System.out.println("NFIQ Score:" + score[0]); } ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//LeftMiddle.bmp",0); System.out.println("Save Segment1: " + ret); ret = segmentor.SaveSegmentedImage("C://IDX - Example Output//LeftIndex.bmp",1); System.out.println("Save Segment2: " + ret); } } }
HOME | BIOMETRICS | SUPPORT | CONTACT US | PRIVACY POLICY | REFUND POLICY
Copyright 2017 Net-X Solutions Ltd