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
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)
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:
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