Fingerprint-Feature-Extraction

Extract minutiae features from fingerprint images

MIT License

Downloads
299
Stars
140
Committers
2

FingerprintFeatureExtraction

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

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

  • from the src folder, run the file "main.py"
  • the input image is stored in the folder "enhanced".
    If the input image is not enhanced, the minutiae features will be very noisy

Libraries needed:

  • opencv
  • skimage
  • numpy
  • math

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:

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

Package Rankings
Top 12.25% on Pypi.org
Related Projects