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:
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.
Equalize the cropped image: equalization gives more contrast and betters the image in general.
Detect edges: by detecting edges you'll obtain something like the black and white image you posted, with only the fingerprint lines showing.
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.
Related
I have a image from which I need create multiple smaller images by drawing rectangles on the parent image, using opencv I know how to draw a rectangle and cut it from the image using Mat and Rect, but the main problem I am facing is that the image is entered through user input and the user can choose to select any portion he/she wants to crop out, so everything needs to be dynamically operated.
The attached image will clarify things a bit
I am new to opencv with android so any help is appreciated.
also if one can provide solution without using opencv is also welcome.
I am trying to develop an android app, that matches template picture on camera screen with actual image which is scanned through camera check image to get clarified
the four green circles on the template image appearing on camera screen should match with the four circles appearing in the background image which I will be scanning through the camera, exactly as shown in fig... once the four circles of template image matches with four circles of background image, a toast will get appeared
How to achieve this? i ve gone through openCV template matching, but couldnt achieve this..
Thanks :)
There are many algorithms in opencv used to match images. I recommend finding features and descriptors of the two images using sift or surf and use brute force matcher or falnn matcher. and check the good matches if there are enough good matches then the object is found and toast the message.
I would just try to find the four circles using HoughCircles and check their positions.
Parameter setting for HoughCircles will be a bit tricky, so try with different values until you see the stable result. The min/max Radius parameters should be as narrow as possible to save computing time and avoid invalid results.
my requirement is to crop image with fixed size in android.. I am getting image from gallery or camera and now want to show fixed size of crop option on that image so that user just drag the rectangle box and set anywhere on the image and save.
Please google your question before asking them on StackOverflow...
There are plenty of libraries which are doing what you want. I use this one which is stable, clear and easy to use but you'll find plenty of others just by looking on Github with a search like this.
For the fixed size, there is maybe an option directly implemented in the API of the library I proposed you (never had this requirement), but if not, you just have to change the draw method of the transparent rectangle.
I want to emboss a background image to the captured camera image.
i.e say i click a person's image in office, and pick the persons image and emboss it on the already existing hill background image,
So that the person's final image shows that he captured the image at hill side.
Can someone throw some idea on this or share code snippet to achieve this.
I didn't quite catch the embossing part even after reading the example. Image embossing is normally replacing each pixel of an image with a highlight or a shadow so the image area is raised to multiple levels having different depth.
But what you are asking is complex. If i am right, you want to merge the two images where the person from first image will be present in the hill side image.
The issue you will face here is object detection of a person in some random image. This is going to be really difficult. And moreover it will involve hardcore processing of the image with some math. At the end of the day, you do have to remember that what you are asking is for a mobile and not an desktop.
I suggest you to do some extensive research on object detection before proceeding with what you have in mind.
Here are some useful links
http://en.wikipedia.org/wiki/Outline_of_object_recognition
object detection android opencv
http://opencv.org/android
You can search SO for similar questions like this
Im trying to get the preview from the separate backfacing cameras in HTC Evo 3D. I access the camera using camera.open(CAMERA_STEREOSCOPIC) but the preview aspect ratio is 640x480 or 1270x768. There are two camera images at the same image side by side.
Obviously some of the image information is lost, because each image is half the original size in x axis. I want to do some image processing so I need the full sized images. And also, taking pictures and then processing is not what i want to do.
Any ideas?
regards
Lukas
" Note that we need to check the result of our call to DisplaySetting.setStereoscopic3DFormat in case the method fails for any reason. It will return true if it succeeded setting the format otherwise false.
If it should fail, you will be displaying a side be side LR image, which is probably not what you intended. In this case you may want to crop the L or R image out and scale the image to the appropriate size."
The info from HTC official website: http://www.htcdev.com/devcenter/opensense-sdk/stereoscopic-3d/s3d-sample-code/
Maybe you should post the code and see what actually happens inside.