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:

  1. Check the license: Call DeviceManager.checkLicense().

  2. Initialize the Device Manager: Call DeviceManager.initialize().

  3. 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:

  1. Create a FingerScanner instance and connect the callback functions:

  2. Specify the Finger Extractor to be used to automatically extract the finger template from the captured images.

  3. 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:

  1. Start capture: Call FingerScanner.startCapture.

  2. Retreive preview images: Use FingerScanner.getCurrentFrame within the FingerScanner.imagePreview callback.

  3. 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

  • Finger templates

  • 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

fromBuffer

Creates a FingerImage from a specified data buffer.

fromFile

Creates a FingerImage from a specified file.

fromRawBuffer

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:

If standardized biometric data interchange format is needed (ISO/IEC 19794-4 or ANSI INCITS-381), proceed as follow:

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.

See also