polyakoff / biometric-converter

Biometric Converter is software that converts fingerprint images of different formats (WSQ, JPEG, PNG, ANSI 381) to fingerminutia formats (ANSI/INCITS 378 and ISO/IEC 29794-4). This repository serves as a formally recognized reference implementation of the international standard.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Biometric Converter

About

Biometric Converter is software that converts fingerprint images of different formats (WSQ, JPEG, PNG, ANSI 381) to fingerminutia formats (ANSI/INCITS 378 and ISO/IEC 29794-4). This repository serves as a formally recognized reference implementation of the international standard.

Dependencies

Building Biometric Converter requires the following dependencies:

After build copy libraries from {BUIDL_DIR}/lib to thirdparty/nbis/lib directory.

Build And Install Library + Command-line Interface

mkdir build
cd build
cmake ..
make install 

Command-line Interface Usage

./convert -i <input_file> -o <output_file> -t <output_type>
Param Description
input_file path to image file you want to convert from
output_file path to file you want to convert to
output_type output file type format: (ANSI, ISO, ISOC, ISOCC)

Demo

Demo CLI Tool

Library Usage

Add converter.h to your target include directory and link all libraries.

Then include converter.h in your code and use convert function.

#include <converter.h>
...
unsigned char* input_data, output_data;
int input_length, output_length;
char* output_type;

convert(input_data, input_length, &output_data, &output_length);
...
Param Description
input_data image data want to convert from
input_length image data length you want to convert from
output_type output file type format: (ANSI, ISO, ISOC, ISOCC)
output_data output data
output_length output data length

Build And Run Docker Image

This command will build local docker image biometric-converter

cd web-service
./gradlew jibDockerBuild

To run docker container:

docker run -p 8080:8080 biometric-converter

Run Docker Image from docker.io

You can also use existing docker image:

docker run -p 8080:8080 biometrictechnologies/biometric-converter

Web Service REST API Documentation

Convert image format to fingerminuta

Request

POST /convert

curl --location --request POST 'http://localhost:8080/convert' \
--header 'Content-Type: application/json' \
--data-raw '{
"input": "...",
"outputType": "ANSI"
}'
Param Description
input image data in BASE64 encoding you want to convert from
outputType output file type format: (ANSI, ISO, ISOC, ISOCC)

Response

HTTP/1.1 200 OK
Date: Thu, 24 Feb 2022 04:00:00 GMT
Status: 200 OK
Connection: close
Content-Type: application/json
Content-Length: 2

{
    "output": "..."
}
Param Description
output BASE64 encoded output data

Communication

If you found a bug and can provide steps to reliably reproduce it, or if you have a feature request, please open an issue. Other questions may be addressed to the Biometric Technologies project maintainers.

License

Biometric Converter is released in the GNU PUB3 Licanse. See the LICENSE for details.

About

Biometric Converter is software that converts fingerprint images of different formats (WSQ, JPEG, PNG, ANSI 381) to fingerminutia formats (ANSI/INCITS 378 and ISO/IEC 29794-4). This repository serves as a formally recognized reference implementation of the international standard.

License:GNU General Public License v3.0


Languages

Language:C 98.1%Language:Kotlin 1.4%Language:CMake 0.6%