georgeemr / Fingerprint_Image_Enhancement

C++ based fingerprint image enhancement using OpenCV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fingerprint Image Enhancement Using OpenCV

Build Status

A C++ implementation of the enhancement method based on Anil Jain's paper:

Fingerprint Image Enhancement: Algorithm and Performance Evaluation, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, No. 8, August, 1998. This paper is available here.

Overview

This program is using OpenCV 2.4.10 and performs following operations sequentially:

  • the image normalization,
  • the image orientation calculation
  • a Gabor filter based image enhancement
  • a cropping to only get the fingerprints

Installation

Install OpenCV on your machine. Then clone the repo:

git clone git@github.com:jjerphan/Fingerprint_Image_Enhancement.git
cd Fingerprint_Image_Enhancement

CLI

You can build the CLI tool as follows.

mkdir -p build
cd build
cmake ..
make
cd ..

You can then execute the script on a picture :

.bin/fingerPrint -i input.png

To have an overview of options, just use:

./bin/fingerPrint -h

API

Install the package using:

python setup.py install

Example of result

Here is an input image :

Input image : picture of an index finger

and the results obtained by running the command above:

Results : Fingerprint extracted

You need to manually save the image shown in the OpenCV window at the end.

License

This project is distributed under the Apache License 2.0.

It features code from edmBernard/pybind11_opencv_numpy published under the same license.

About

C++ based fingerprint image enhancement using OpenCV

License:Apache License 2.0


Languages

Language:C++ 96.0%Language:Python 3.1%Language:CMake 0.9%