简体   繁体   中英

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. 在此输入图像描述 在此输入图像描述

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

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

在此输入图像描述

Step 2: Cropping

We crop it to just the fingertip

在此输入图像描述

Step 3: Equalization

We equalize the cropped image

在此输入图像描述

Step 4: Edges

We find the edges

在此输入图像描述

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

在此输入图像描述

Step 6: Process new image

We process it just like the original one

在此输入图像描述

Step 7: Matching

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

在此输入图像描述

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM