Fingerprint
The GBS Fingerprint SDK is a fingerprint recognition library that comes packaged with a Software Development Kit (SDK), allowing you to integrate biometrics in a wide range of applications. Thanks to its support for several programming languages, code samples, and its documentation, you’ll start developing your application in a matter of minutes.
Installing the SDK
Licensing
The GBS Fingerprint SDK requires a software license to work correctly.
It is distributed with a trial license valid for 90 days*. After this period a license must be purchased by sending an email to [email protected] and must be installed in C:\ProgramData\Griaule.
Installing
You must have one of the following versions of the SDK to perform the install. Verify if the version you have is compatible with your OS.
GBS Fingerprint SDK (x86-64)
GBS Fingerprint SDK (x86)
GBS Fingerprint SDK (Linux)
To install the SDK, double-click on the file and follow the on-screen instructions.
Folder Overview
bin
Contains all the files needed by the GBS Fingerprint SDK library. This folder mainly contains DLLs.
doc
The Fingerprint SDK documentation files.
inc
Import files for some of the supported languages (DLL only).
lib
Libraries to access the GBS Fingerprint SDK in your C++ and C++.NET applications.
samples
Contains the samples source codes and binaries.
Operating Systems and Fingerprint Reader devices supported
Once the GBS Fingerprint SDK is installed the supported devices are also installed.
The following table specifies which models are supported according to the Operating System.
Cogent Cs500e
✅
✅
✅
✅
✅
✅
✅
✅
Crossmatch EF200 / Watson
✅
✅
✅
✅
✅
✅
✅
✅
Crossmatch LSCAN Guardian
❌
✅
❌
✅
❌
✅
❌
✅
Crossmatch Verifier 320 LC
✅
✅
✅
✅
✅
✅
✅
✅
Digent Izzix FD1000
❌
✅
❌
✅
❌
✅
❌
✅
Digital Persona U.are.U 4000
✅
✅
✅
✅
✅
✅
✅
✅
Digital Persona U.are.U 4500
✅
✅
✅
✅
✅
✅
✅
✅
Digital Persona U.are.U 5100
✅
✅
✅
✅
✅
✅
✅
✅
Futronic FS52
❌
✅
❌
✅
❌
✅
❌
✅
Futronic FS80
✅
✅
✅
✅
✅
✅
✅
✅
Futronic FS80H
✅
✅
✅
✅
✅
✅
✅
✅
Futronic FS81H
✅
✅
✅
✅
✅
✅
✅
✅
Futronic FS88
✅
✅
✅
✅
✅
✅
✅
✅
Futronic FS88H
✅
✅
✅
✅
✅
✅
✅
✅
Greenbit Multiscan 527
✅
✅
✅
✅
✅
✅
✅
✅
Lumidigm M301
✅
✅
✅
✅
✅
✅
✅
✅
Lumidigm V302
✅
✅
✅
✅
✅
✅
✅
✅
Lumidigm V311
✅
✅
✅
✅
✅
✅
✅
✅
Lumidigm V371
✅
✅
✅
✅
✅
✅
✅
✅
IDTech Biomag IDT-4012-DP
✅
✅
✅
✅
✅
✅
✅
✅
IDTech Biomag IDT-4033-NG
✅
✅
✅
✅
✅
✅
✅
✅
IB Sherlock
✅
✅
❌
❌
❌
❌
❌
❌
Integrated Biometrics Watson Mini
✅
✅
✅
✅
✅
✅
✅
✅
IB Kojak
✅
✅
❌
✅
❌
✅
❌
✅
Nitgen eNBioScan-D
❌
✅
❌
❌
❌
❌
❌
❌
Nitgen Hamster DX
❌
✅
❌
✅
❌
✅
❌
✅
Nitgen Hamster II
❌
✅
❌
✅
❌
✅
❌
✅
Nitgen Hamster II DX / III
❌
✅
❌
✅
❌
✅
❌
✅
Secugen Hamster IV
✅
✅
✅
✅
✅
✅
✅
✅
Secugen Hamster Plus
✅
✅
✅
✅
✅
✅
✅
✅
Secugen Hamster Pro 20
✅
✅
✅
✅
✅
✅
✅
✅
Suprema BioMini
❌
✅
❌
✅
❌
✅
❌
✅
Suprema BioMini Plus
❌
✅
❌
✅
❌
✅
❌
✅
Suprema BioMini Slim
❌
✅
❌
✅
❌
✅
❌
✅
Suprema RealScan-D
✅
✅
✅
✅
✅
✅
✅
✅
Suprema RealScan-G10
✅
✅
✅
✅
✅
✅
✅
✅
Suprema SFU-S20
❌
✅
❌
✅
❌
✅
❌
✅
TechMag Biopass
✅
✅
✅
✅
✅
✅
✅
✅
UPEK Eikon
❌
✅
❌
✅
❌
✅
❌
✅
UPEK Eikon Touch
❌
✅
❌
✅
❌
✅
❌
✅
Virdi FOH02
✅
✅
✅
✅
✅
✅
✅
✅
Virdi FOH04
✅
✅
✅
✅
✅
✅
✅
✅
Zvetco Verifi P5000
❌
✅
❌
✅
❌
✅
❌
✅
Zvetco Verifi P6000-B
❌
✅
❌
✅
❌
✅
❌
✅
CrossMatch V320
GBSFingerprintCapPluginCrossMatch320.dll LScanEssentials.dll QtCore4.dll QtGui4.dll QtNetwork4.dll QtWebKit4.dll
Other CrossMatch
GBSFingerprintCapPluginCrossMatchP.dll GBSFingerprintCapPluginCrossMatch300.dll intl.dll libglib-2.0-0.dll USB4XX.dll
Digent
GBSFingerprintCapPluginDigent.dll FingerAPI22Ex.dll IZZIX20.dll TCI.dll
Futronic FS
GBSFingerprintCapPluginFutronicFS50.dll ftrScanAPI.dll
Other Futronic
GBSFingerprintCapPluginFutronic.dll ftrScanAPI.dll
Nitgen Hamster
GBSFingerprintCapPluginHams.dll NBioBSP.dll
Nitgen eNBioScan-D
GBSFingerprintCapPluginNitgenD.dll eNBioScan-D NBioScan.dll
Nitgen eNBioScan-F
GBSFingerprintCapPluginNitgenF.dll eNBioScan-F NBioBSP.dll
Integrated Biometrics Watson Mini
GBSFingerprintCapPluginIB.dll IBScanUltimate.dll
Lumidigm
GBSFingerprintCapPluginLumi.dll LumiAPI.dll LumiCore.dll LumiInOpAPI.dll plugin/AlgoDvc.dll plugin/IEngine_Plus.dll plugin/MercuryDvc.dll plugin/PreProcV31_INT16.dll plugin/SDvc.dll plugin/VenusDvc.dll
Suprema RealScan-D
GBSFingerprintCapPluginRealD.dll RS_SDK.dll
Other Suprema
GBSFingerprintCapPluginSuprema.dll UFLicense.dat UFScanner.dll
UPEK TouchChip
GBSFingerprintCapPluginUpek.dll bsapi.dll TCI.dll
Virdi FOH02
GBSFingerprintCapPluginVirdi2.dll UCBioBSP.dll VHMLib.dll
Programming Language Support
GBS Fingerprint SDK supports multiple programming languages, including Java, C++ and C#/.NET.
Features
Technical Characteristics
Capture:
Detects fingerprint readers plug/unplug;
Automatic finger detection;
Supports BMP files for fingerprint image saving/loading;
Maximum image size of 1280 x 1280 pixels;
Minimum image size of 50 x 50 pixels;
Maximum resolution of 1000 DPI;
Minimum resolution of 125 DPI;
Extraction:
Average extraction time of 100ms;
Images of 300 x 300 pixels. Machine: Pentium4 2.8GHz, 512MB RAM.
Maximum image size of 500 x 500 pixels;
Larger images are cropped.
Minimum image size of 50 x 50 pixels;
Average template size of 400 bytes;
Matching:
Verification speed: up to 100/s.
Images of 100 x 100 pixels. Machine: Pentium4 2.8GHz, 512MB RAM.
Threshold and Rotation Tolerance
The verification function in Fingerprint SDK library are governed by two important parameters: threshold and rotation tolerance.
The threshold is the minimum score needed to state that two fingerprints do match. The default value is 20 for the verification process, ensuring a 1% FRR.
The rotation tolerance defines the maximum acceptable angle variation (in degrees) between two fingerprints being compared that will result in a match. This value is valid in both clockwise and counterclockwise directions, so the maximum value that can be set is 180. The default value is -1.
What’s New on Fingerprint SDK
Added AFIS (Automatic Fingerprint Identification System) functionality: patterns are identified by software in fingerprint images and are used for comparison with another fingerprint image patterns to determine if they came from the same finger and ultimately, from the same person.
Added converter to WSQ functionality. The WSQ is the best image format for fingerprints. It reaches a great compression with high image quality.
Image formats supported when converting to WSQ: BMP, JPEG, JPEG 2000, TIFF, GIF and PNG.
Added support to more Fingerprint Readers;
Added support to Windows 7, 8 and 8.1 32-bit and 64-bit.
Fixed some bugs from the Fingerprint SDK 2009;
Dropped the concept of Context;
Dropped the editions IDENTIFICATION and VERIFICATION;
Does not perform multi-thread operations such as identification one-to-many;
Performs fingerprint extraction and verification (matching one-to-one).
How to migrate from the Fingerprint SDK 2009 to the new GBS Fingerprint SDK
This section highlights the main differences introduced when comparing the new Fingerprint SDK and the Fingerprint SDK 2009.
The GBS Fingerprint SDK
In the Fingerprint SDK 2009, a MatchingContext object is where the biometric operations (fingerprint minutiae extraction and fingerprint matching) occur. All methods in a MatchingContext object are synchronized, thus to execute N biometric operations at the same time, N MatchingContext objects must be created.
In the new Fingerprint SDK, the Matching Context is not applicable anymore. The application continues to be thread-safe, but only single-threaded operations are performed at a time. For multi-thread operations, such as Identification (one-to-many), the GBS Server is needed. For further information regarding this software of the Griaule Biometric Suite, please contact the Griaule Biometrics support ([email protected]).
New API: discontinued and new methods
The following tables match the discontinued methods of the previous softwares (Fingerprint SDK 2009, AFIS 2.0 and WSQ 1.2) with the new ones that replace them, if applicable. The value NA indicates that the method’s functionality has been discontinued in the current release of the SDK.
GrInitialize
GriauleAfisInitialize
GrInitialize
GrCapInitialize
GriauleAfisCapInitialize
GrCapInitialize
GrFinalize
GriauleAfisFinalize
GrFinalize
GrCapFinalize
GriauleAfisCapFinalize
GrCapFinalize
GrExtract
GriauleAfisExtract
NA
GrExtractEx
GriauleAfisExtractEx
GrExtract
GrConvertTemplate
GriauleAfisConvertTemplate
GrConvertTemplate
GrCreateContext
GriauleAfisCreateContex
NA
GrDestroyContext
GriauleAfisDestroyContext
NA
GrVerify
GriauleAfisVerify
GrVerify
GrSetVerifyParameters
GriauleAfisSetVerifyParameters
GrSetVerifyParameters
GrGetVerifyParameters
GriauleAfisGetVerifyParameters
GrGetVerifyParameters
GrIdentify
GriauleAfisIdentify
NA
GrIdentifyPrepare
GriauleAfisIdentifyPrepare
NA
GrSetIdentifyParameters
GriauleAfisSetIdentifyParameters
NA
GrGetIdentifyParameters
GriauleAfisGetIdentifyParameters
NA
GrCapStartCapture
GriauleAfisCapStartCapture
GrCapStartCapture
GrCapStopCapture
GriauleAfisCapStopCapture
GrCapStopCapture
GriauleAfisCapCapture
NA
GriauleAfisGetProcessedImage
NA
GriauleAfisGetTemplate
NA
GriauleAfisGetTemplateEx
NA
GriauleAfisSetTemplate
NA
GriauleAfisGetTemplateInfo
NA
GriauleAfisGetMinutiaInfo
NA
GriauleAfisGetSegmentInfo
NA
GriauleAfisAddMinutia
NA
GriauleAfisRemoveMinutia
NA
GriauleAfisGetNearestMinutia
NA
GriauleAfisGetNearestSegment
NA
GriauleAfisRecalculateSegment
NA
GriauleAfisSetPatternClassification
NA
GriauleAfisGetPatternClassification
NA
GriauleAfisGetMatchInfo
NA
GriauleAfisGetMatchMinutia
NA
GriauleAfisGetMatchSegment
NA
GriauleAfisRawImageToHandle
NA
GriauleAfisSaveRawImageToFile
NA
GriauleAfisLoadImageFromFile
NA
GriauleAfisDisplay
NA
GriauleAfisSegmentTwoFingers
GrSegmentNFingers
GriauleAfisSegmentFourFingers
GrSegmentNFingers
GriauleAfisFreeBlockData
GriauleAfisSetCaptureParameters
GrSetCaptureParameters
GriauleAfisGetCaptureParameters
GrGetCaptureParameters
GriauleAfisSetCaptureThresholds
GrSetCaptureThresholds
GriauleAfisGetCaptureThresholds
GrGetCaptureThresholds
GriauleAfisSetDisplayColors
NA
GriauleAfisGetDisplayColors
NA
GriauleAfisSetExtractParameters
NA
GriauleAfisGetExtractParameters
NA
GriauleAfisSetPostMatchParameters
NA
GriauleAfisGetPostMatchParameters
NA
GriauleAfisGetVersion
NA
GriauleAfisInitializeStandard
NA
GriauleAfisAddFingerprintToStandard
NA
GriauleAfisExportStandard
NA
GriauleAfisAddicaoToStandard
NA
GriauleAfisAddExceptionToStandard
NA
GriauleAfisAddBioDataToStandard
NA
GrCapAddPlugin
NA
GrCapRawImageToHandle
NA
GrCapSaveRawImageToFile
NA
GrCapLoadImageFromFile
NA
GrBiometricDisplay
GrBiometricDisplay
GrBiometricDisplayRaw
NA
GrSetBiometricDisplayColors
GrSetBiometricDisplayColors
GrGetGrFingerVersion
GrGetVersion
GrSetLicenseFolder
GrSetLicenseFolder
GrInstallLicense
GrInstallLicense
GrGetLicensePath
NA
GrStartEnroll
GrStartConsolidation
GrEnroll
GrConsolidate
GrEncodeBase64
GrExtract
GrDecodeBase64
GrExtract
GrisBase64Encoding
GrExtract
griaulewsq_raw2wsq
GrConvertImage
griaulewsq_wsq2raw
GrConvertImage
griaulewsq_free
GrConvertImage
griaulewsq_loadFromFile
GrLoadFromFile
GrSaveToFile
griaulewsq_getVersion
GrConvertImage
griaulewsq_saveToBMPFile
GrConvertImage
griaulewsq_saveToJPEGFile
GrConvertImage
griaulewsq_saveToJPEG200OFile
GrConvertImage
griaulewsq_saveToGIFFile
GrConvertImage
griaulewsq_saveToTIFFFile
GrConvertImage
griaulewsq_iso197944_to_raw
GrConvertImage
griaulewsq_iso197944_to_raw_single
GrConvertImage
griaulewsq_raw_to_iso197944_single
GrConvertImage
griaulewsq_raw_to_iso197944
GrConvertImage
griaulewsq_saveToiso197944File_single
GrConvertImage
griaulewsq_saveToiso197944File
GrConvertImage
griaulewsq_saveToWSQFile
GrConvertImage
griaulewsq_saveToPNGFile
GrConvertImage
griaulewsq_setComment
GrConvertImage
griaulewsq_getComment
GrConvertImage
griaulewsq_setLicenseFolder
GrConvertImage
griaulewsq_requestAuthorization
GrConvertImage
griaulewsq_rawmageToHandle
GrConvertImage
griaulewsq_memleak_start
GrConvertImage
griaulewsq_memleak_chec
GrConvertImage
GrGetCaptureInfo
GrGetCaptureInfo
GrGetReaderInfo
GrGetReaderInfo
GrSetReaderInfo
GrSetReaderInfo
GrSetCrypt
NA
GrDecrypt
NA
Methods Signature Simplified: Gr_IMAGE and Gr_TEMPLATE
In the Fingerprint SDK 2009, several primitive types must be passed as parameters of the API functions in order to define an image or a template. In the GBS Fingerprint SDK, new classes define how Image and Template data must be defined. They encapsulate the necessary information and allow a clearer understanding of the API.
Last updated