bc... [google]
Home » Source Code » Fingerprint recognition using python

Fingerprint recognition using python

2015-03-21 00:15:28
The author
Download(s): 4
Point (s): 1 
Category Category:
Image ProcessingImage Processing PythonPython


# Fingerprint recognition algorithms

Active development year: 2012

## Summary
Some implementations of fingerprint recognition algorithms developed for Biometric Methods course at University of Wrocław, Poland.

## Usage

### Prerequisites
* python 2.7
* python imaging library (PIL)

### How to use it
Simply do ```python filename.py --help``` to figure out how to execute ```filename``` algorithm

## Algorithms

### Poincaré Index
Finds singular points on fingerprint.

How it works (more detailed description [here](http://books.google.pl/books?id=1Wpx25D8qOwC&lpg=PA120&ots=9wRY0Rosb7&dq=poincare%20index%20fingerprint&hl=pl&pg=PA120#v=onepage&q=poincare%20index%20fingerprint&f=false)):
* divide image into blocks of ```block_size```
* for each block:
    * calculate orientation of the fingerprint ridge in that block (i.e. what is the rigde slope / angle between a ridge and horizon)
    * sum up the differences of angles (orientations) of the surrounding blocks
    * there are 4 cases:
        * sum is 180 (+- tolerance) - loop found
        * sum is -180 (+- tolerance) - delta found
        * sum is 360 (+- tolerance) - whorl found

The python script will mark the singularities with circles:
* red for loop
* green for delta
* blue for whorl
Example: ```python poincare.py images/ppf1.png 16 1 --smooth```

* Original


* With singular points marked by algorithm:


Note: algorithm marked singular points not only inside fingerprint itself, but on its edges and even outside. This is a result of usage of non-preprocessed image - if the image was enhanced (better contrast, background removed), then only singular points inside fingerprint would be marked.

### Thinning (skeletonization)

How it [works] (http://bme.med.upatras.gr/improc/Morphological%20operators.htm#Thining)

Example: ```python thining.py images/ppf1_enhanced.gif --save```

* Before


* After:


### Minutiae recognition (crossing number method)
Crossing number methods is a really simple way to detect ridge endings and ridge bifurcations.

First, you'll need thinned (skeleton) image (refer to previous section how to get it). Then the crossing number algorithm will look at 3x3 pixel blocks:
* if middle pixel is black (represents ridge):
    * if pixel on boundary are crossed with the ridge once, then we've found ridge ending
    * if pixel on boundary are crossed with the ridge three times, then we've found ridge bifurcation
Example: ```python crossing_number.py images/ppf1_enhanced_thinned.gif --save```


Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
<fingerprint>0.00 B2014-11-04 16:23
fingerprint1.73 kB2013-06-13 16:20
fingerprint3.39 kB2013-06-13 16:20
fingerprint2.17 kB2013-06-13 16:20
fingerprint929.00 B2013-06-13 16:20
<fingerprint>0.00 B2014-11-04 16:23
fingerprint128.79 kB2013-06-13 16:20
fingerprint89.37 kB2013-06-13 16:20
fingerprint45.67 kB2013-06-13 16:20
fingerprint51.62 kB2013-06-13 16:20
fingerprint201.10 kB2013-06-13 16:20
fingerprint1.04 kB2013-06-13 16:20
fingerprint1.04 kB2013-06-13 16:20
fingerprint2.53 kB2013-06-13 16:20
fingerprint2.92 kB2013-06-13 16:20
fingerprint1.26 kB2013-06-13 16:20
fingerprint864.00 B2013-06-13 16:20
fingerprint1.53 kB2014-10-21 00:37
fingerprint667.00 B2013-06-13 16:20
fingerprint2.00 kB2013-06-13 16:20
fingerprint3.82 kB2013-06-13 16:20
fingerprint6.23 kB2014-10-21 00:37
Sponsored links


(Add your comment, get 0.1 Point)
Minimum:15 words, Maximum:160 words




  • 1
  • Page 1
  • Total 1

Fingerprint recognition using python (407.39 kB)

Need 1 Point(s)
Your Point (s)

Your Point isn't enough.

Get 22 Point immediately by PayPal

Point will be added to your account automatically after the transaction.

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more Points


Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com


CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D