Utkarsh-Deshmukh / Fingerprint-Feature-Extraction

Extract minutiae features from fingerprint images
MIT License
143 stars 44 forks source link
biometrics fingerprint fingerprint-images fingerprint-recognition minutiae-features opencv python

FingerprintFeatureExtraction

The important fingerprint minutiae features are the ridge endpoints (a.k.a. Terminations) and Ridge Bifurcations.

image

The feature set for the image consists of the location of Terminations and Bifurcations and their orientations

Installation and Running the tests

method 1

  pip install fingerprint-feature-extractor

Usage:

  import fingerprint_feature_extractor
  img = cv2.imread('image_path', 0)             # read the input image --> You can enhance the fingerprint image using the "fingerprint_enhancer" library
  FeaturesTerminations, FeaturesBifurcations = fingerprint_feature_extractor.extract_minutiae_features(img, spuriousMinutiaeThresh=10, invertImage=False, showResult=True, saveResult=True)

method 2

Libraries needed:

Note

use the code https://github.com/Utkarsh-Deshmukh/Fingerprint-Enhancement-Python to enhance the fingerprint image. This program takes in the enhanced fingerprint image and extracts the minutiae features.

Here are some of the outputs:

1 enhanced_feat1

How to match the extracted minutiae?

Various papers are published to perform minutiae matching. Here are some good ones:

"A Minutiae-based Fingerprint Matching Algorithm Using Phase Correlation" by Weiping Chen and Yongsheng Gao https://core.ac.uk/download/pdf/143875633.pdf

"FINGERPRINT RECOGNITION USING MINUTIA SCORE MATCHING" by RAVI. J, K. B. RAJA, VENUGOPAL. K. R https://arxiv.org/ftp/arxiv/papers/1001/1001.4186.pdf