Fingerprint scanner using camera of android device

99封情书 提交于 2020-02-20 09:16:07

问题


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


回答1:


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.



来源:https://stackoverflow.com/questions/37053197/fingerprint-scanner-using-camera-of-android-device

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!