Finger Capture¶
The id3 Finger SDK provides the functionality to capture fingerprint images from various sources, including finger scanners, files, and data buffers.
Note
The device manager is exclusively available on the Windows platform.
Initializing the Device Manager¶
To manage the lifecycle and state of biometric capture devices, follow these steps:
Check the license: Call DeviceManager.checkLicense().
Initialize the Device Manager: Call DeviceManager.initialize().
Start the Device Manager: Call DeviceManager.start() to activate the manager and begin plug-and-play detection.
DevicesLicense.CheckLicense(licensePath);
DeviceManager.Initialize(false);
DeviceManager.Start();
Initializing a Finger Scanner¶
A FingerScanner extends the DeviceChannel capabilities, enabling fingerprint capture processes.
The initialization should be done as follows:
Create a FingerScanner instance and connect the callback functions:
Specify the Finger Extractor to be used to automatically extract the finger template from the captured images.
Open a capture device: Call FingerScanner.openDevice().
FingerScanner scanner;
void InitializeFingerScanner()
{
scanner = new FingerScanner()
{
FingerExtractor = new FingerExtractor()
{
MinutiaDetectorModel = FingerModel.FingerMinutiaDetector3B,
ThreadCount = 4
},
AutoCapture = true,
AutoProcess = true
};
scanner.DeviceAdded += FingerScanner_DeviceAdded;
scanner.DeviceRemoved += FingerScanner_DeviceRemoved;
scanner.DeviceStatusChanged += FingerScanner_DeviceStatusChanged;
}
private void FingerScanner_DeviceAdded(object sender, PlugAndPlayCallbackEventArgs e)
{
scanner.OpenDevice(e.DeviceId);
}
private void FingerScanner_DeviceRemoved(object sender, PlugAndPlayCallbackEventArgs e)
{
DeviceInfo deviceInfo = DeviceManager.GetDeviceInfo(e.DeviceId);
// ...
}
Capturing fingerprint images¶
After initializing and opening the capture device, you can proceed with capturing fingerprint images using the following steps:
Start capture: Call FingerScanner.startCapture.
Retreive preview images: Use FingerScanner.getCurrentFrame within the FingerScanner.imagePreview callback.
Retrieve captured image: Use FingerScanner.getCapturedImage within the FingerScanner.imageCaptured callback.
Finger Image¶
A FingerImage object contains a fingerprint image and additional data, including:
Raw data
Image information
Height and width
Horizontal and vertical resolution
Impression type
Position of the finger
Image quality
Detected fingers list
Capture device information
Certification
Technology
Type identifier (vendor-specific)
Vendor identifier (registered by IBIA)
A FingerImage also provides functionality for loading and storing image files into various formats, including BMP, JPEG and WSQ (see below).
Note
Several images from one or more fingers can be grouped into a single FingerImageRecord Class.
It can be stored in a supported standard format for further usage. See Supported Formats for details.
Creating a FingerImage from a file or a buffer¶
To create a FingerImage, use one of the following methods:
Method |
Description |
---|---|
Creates a FingerImage from a specified data buffer. |
|
Creates a FingerImage from a specified file. |
|
Creates a FingerImage from a specified data buffer containing the raw image data (8-bit grayscale). |
Saving a FingerImage to a file¶
To save a FingerImage to a file in one of the supported formats, proceed as follow:
call the FingerImage.toFile Method.
If standardized biometric data interchange format is needed (ISO/IEC 19794-4 or ANSI INCITS-381), proceed as follow:
create a FingerImageRecord,
add the FingerImage to the record,
save the record to a file in the required format.
Managing multiple fingeprints of the same user¶
FingerImageRecord objects allow you to load and store information from multiple finger images using standardized biometric data interchange formats. Each record corresponds to a single subject, facilitating the exchange and comparison of finger image data.