Palm Print Recognition SDK - Server

This stands for palm-print reader, palmprint scanner, palmprint recognition, palmprint matching, hand landmark, palmprint identity, palmprint comparison on Linux and Windows

We provide customers with the Palmprint Recognition SDK for both Windows and Linux.

Features

License

We offer lifetime license(perpetual license) based on machine ID for every server(Windows, Linux). The license is available for one-time payment. In other words, once you purchase license from me, you can use our SDK permanently.

To request a license, please contact us:

Email: contact@kby-ai.com

System Requirements

1. Linux

  • CPU: 2 cores or more (Recommended: 2 cores)

  • RAM: 4 GB or more (Recommended: 8 GB)

  • HDD: 4 GB or more (Recommended: 8 GB)

  • OS: Windows 7 or later

  • Architecture: x64

2. Windows

  • CPU: 2 cores or more (Recommended: 2 cores)

  • RAM: 4 GB or more (Recommended: 8 GB)

  • HDD: 4 GB or more (Recommended: 8 GB)

  • OS: Ubuntu 20.04 or later

  • Architecture: x64

Import SDK

  1. Python

# Python code example
import handtool
  1. C++

#include <palm_feature/facade.h>
#include <palm_feature/status.h>
#include <crop/hand.h>

using namespace HandLib;
using palm_feature::PalmFeatureFacade;
using palm_feature::Status;
# CMake for Windows
target_link_libraries(your_app_name
    /path/to/library/libhand.lib
)

# CMake for Linux
target_link_libraries(your_app_name
    /path/to/library/libhand.so
)

Initializing SDK

  • First, create new object for using SDK.

# Python code example
config = handtool.EncoderConfig()
encoder = handtool.create_encoder(config)  
  • Obtain macihne code to activate and request license.

# Python code example
machineCode = encoder.getMachineCode()
print("\nmachineCode: ", machineCode.decode('utf-8'))
  • Activate SDK using licnese key

# Python code example
ret = encoder.setActivation(license.encode('utf-8'))
print("\nactivation: ", ret)
  • Once ret value is zero, SDK can get work started.

APIs

1. getMachineCode

First, obtain the machine code for activation and request a license based on the machine code.

# Python code example
achineCode = encoder.getMachineCode()
print("\nmachineCode: ", machineCode.decode('utf-8'))

2. setActivation

Next, activate the SDK using the received license.

# Python code example
ret = encoder.setActivation(license.encode('utf-8'))
print("\nactivation: ", ret)

If activation is successful, the return value will be SDK_SUCCESS. Otherwise, an error value will be returned.

3. Hand Detection

The SDK provides a single API for detecting hands, determining hand landmark. The function can be used as follows.

# Python code example
hand_type, x1, y1, x2, y2, detect_state = encoder.detect_using_bytes(img)
roi = mat_to_bytes(get_roi(img, hand_type, x1, y1, x2, y2))
  • hand_type: it indicates hand type value, 0 value: left hand, 1 value: right hand.

  • x1, y1, x2, y2: hand landmark points to get ROI image.

  • roi: hand ROI(Region Of Interest) image to get palm feature.

4. Feature Extraction

encode_using_bytes function returns palmprint feature against ROI data.

The function can be used as follows:

# Python code example
palmprint = encoder.encode_using_bytes(roi)
  • roi: hand ROI(Region Of Interest) image to get palm feature.

  • palmprint: palmprint feature calculated from hand ROI data.

5. Palmprint Comparison(Matching API)

The compare_to function takes two palmprint features as a parameter and returns score value to determine whether 2 input hands are from the same or different.

Palmprint data can be matched based on similarity score from matching API as follows.

# Python code example
one_palmprint_code = encoder.encode_using_bytes(roi1)
another_palmprint_code = encoder.encode_using_bytes(roi2)
score = one_palmprint_code.compare_to(another_palmprint_code)

Last updated