Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fingerprint scanner using camera of android device

I m trying to implement, capture finger image and then scan that image and get the biometric fingerprints from that image and then finaly sending that image to server. Basically i dont have idea to work on image processing of these. so i tried Onyx SDK and the problem solved. but its a trail version. Now i need to know what are the proces undergoes inorder to get biometic image of finger, like cropping, inverting, contrasting, etc . Can anyone tell me the steps to undergone for image processing. Or anyother open source sdk for fingerprint sensor. Ur help is much appreciated.

I m just trying to do something like this. enter image description here enter image description here

say img one is captured image and imge two is after reconizing the biometric fingerprint

like image 328
User Learning Avatar asked May 05 '16 14:05

User Learning


People also ask

Can camera capture fingerprint?

It's possible to pick out fingerprints using a phone camera with a resolution as low as two megapixels. The result is a traditional fingerprint image, which can then be matched against existing databases.

Can I use Android phone as fingerprint scanner?

From Settings, tap Biometrics and security, and then tap Fingerprints. Enter your secure screen lock credentials and then tap Add fingerprint. Follow the on-screen prompts to add the fingerprint, and then tap Done.

How do you use a fingerprint sensor on a camera?

Step 4) Once you've selected all the apps you want to use with the fingerprint sensor to take pictures, open the camera app on your smartphone. You will see a 'Dactyl Service Running' notification just above the shutter button. Now just place your finger on the fingerprint sensor and you'll be able to click pictures.


1 Answers

Basically what you need to do is "match" two images of fingertips: one is the original image of the authorised user's fingertip and the other one is the image of the fingertip the camera just captured.

If the two images "match" then the camera captured the authorised user's fingertip and you shall let her in, otherwise access is to be denied.

Here's the steps I'd fallow to evaluate "matching" between to fingertip images:

  1. Crop the essential part: you can crop an area at the center of the image, or put a square area in overlay on the CameraPreview and ask the user to capture the camera image when this square area is completely covered by her fingertip. Then crop out what's inside that square.

  2. Equalize the cropped image: equalization gives more contrast and betters the image in general.

  3. Detect edges: by detecting edges you'll obtain something like the black and white image you posted, with only the fingerprint lines showing.

  4. Apply SIFT: with SIFT you extract "features" which are Scale-invariant (alsto rotation, tilt, light...-invariant) representations of points in your image. Using these features you can compare two images: they match if features can be found in both images.


Let's give a little practical example

Step 1: Original image

Here's the original user's fingertip image

enter image description here

Step 2: Cropping

We crop it to just the fingertip

enter image description here

Step 3: Equalization

We equalize the cropped image

enter image description here

Step 4: Edges

We find the edges

enter image description here

Now we can save this image and keep it for future authentication reference.

Step 5: New image captured

When a new image of a fingertip is acquired by the camera

enter image description here

Step 6: Process new image

We process it just like the original one

enter image description here

Step 7: Matching

Finally we use SIFT to match the original image wit the new one

enter image description here

See that, even if some point is mismatched (10%), most of them (90%, the big central group) matches correctly. In this example SIFT finds 20 points of match, you could also set a threshold for feature quality which improves matches.


With Android

To do all this stuff with Android, you could use the OpenCV Android Library which has utils for pretty much everything, including SIFT

Hope this helps.

like image 66
Carlo Moretti Avatar answered Sep 24 '22 23:09

Carlo Moretti