FingerMatch
Minutiae-based fingerprint matching implementation
Install / Use
/learn @tudoriliuta/FingerMatchREADME
Fingerprint matcher
Python 3.6+ implementation of a fingerprint matching minutiae-based model.
Project status: In progress
Components status:
Data
Data processing: DONE Minutiae extraction: DONE Minutiae post-processing: DONE
Matching
Minutiae tuple matching (Tree based): IN PROGRESS Minutiae BFMatcher score based: DONE Softmax based ranking: TO DO
Infrastructure
Main class deployment: DONE API Development: IN PROGRESS Documentation: IN PROGRESS Unit-testing: IN PROGRESS Requirements: DONE
Prerequisites
- Python 3.6+
- Install required dependencies from requirements.txt
Execution
- Call FingerMatcher using the preferred matcher: 'tree' (in development) or 'bf'
- Use FingerMatcher functions for desired functionality.
- loadData(path, image_format)
Loads the given image format data from a given root path. The function recursively iterates the path and loads raw images, applies histogram equalisation, binarisation, dot removal, enhancement for ridge smoothing and repair.
- trainData()
Extracts minutiae from the loaded data based on either Harris edges or the crossing numbers approach (Default). The minutiae and tuple profile of images (tree matching) or the descriptors (BFMatcher)
- matchFingerprint(image_test, verbose, match_th)
Uses the extracted minutiae from each base image for drawing a comparison between them and the test image given. The matching is done based on the selected model. It can be done either via BFMatcher or via tree matching. match_th describes the threshold for the BFMatcher. Not considered for tree matching at the moment. The function returns the scores list and some information about a match or not based on the given threshold. If no threshold is given, it outputs a boolean prediction.
Authors
- Dragos Tudor (dragostudoriliuta@gmail.com)
