Skip to content

ayaskovets/pyfnprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyFnPrint

Simple fingerprint recognition library written in Python3. The library implements various fingerprint preprocessing and recognition methods along with evaluation and database splitting utilities

Structure

  • The library sources containing the following modules:
    • image.py - a wrapper for a fingerprint image with a filename like "${id}_${number}.${ext}" and lazy file reading
    • preprocess.py - preprocessing module containing various image quality enhancing functions and functions for extraction of ridge characteristics
    • binarize.py - binarization module wrapping various opencv calls
    • filter.py - filtering module supporting custom kernels and gabor filtering
    • minutae.py - minutae points extraction and preprocessing module supporting core point detection
    • feature.py - feature extraction and comparison module
    • plot.py - plotting module for various stages of preprocessing
  • Database containing 128 high quality fingerprint images 8 for each user
  • More challenging are databases used by the FVC competition
  • Command line tool for splitting any amount of fingerprint images into a single filesystem database with train/test structure. Generates test.csv file which can be used for remote evaluation of predictions
  • Command line tool for evaluating predictions
  • Example program that uses fplib sources to create a fingerprint identification model
Original image Skeletonized
Original image Segmented
Ridge orientations Minutae

Prerequisites:

  • Python3 interpreter
  • Dependencies: numpy, opencv2, skimage, matplotlib, pandas, seaborn