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
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.
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.
I am trying to implement Tesseract library to get text from the image, it works in some cases but in mostly it fails.
I am using this library in my Android project: https://github.com/rmtheis/tess-two
I am trying with this image
Actual Result
Expected Result
Wikipedia
The free Encyclopedia
Any suggestions as to why it's not working?
It's not working because of:
The uneven illumination in the image
The presence of part of the globe graphic at the top of the captured image.
By taking a picture of the screen, you're introducing some darker areas on the image that's captured. To fix it, you could use the image directly instead of taking a picture, or you could add code to your app to adjust for the uneven illumination.
With different illumination, and cropping around the text area, I get a better result:
I'm working on an application in which I need to download lots of images. The images are to be seen in the fullscreen mode. Therefore, I wanted to know how to load an image, speedily, to make the application more responsive and enhance user experience. I would like to, atleast, show a blurred image first and than make it sharp. Thanks.
use BitmapFactory.Options.inSamleSize to load a downsampled version of the image. Then load the bigger image and do a fade transition using a TransitionDrawable
You're looking for "progressive image rendering", which can be done in a variety of different image formats, including png, jpeg, gif, etc. The next time you're going to save an image in a good graphics program, select one of those formats and take a look at your save options. You should have an option to save an "interlaced" image.
Jeff Atwood of Coding Horror has a nice write up here: http://www.codinghorror.com/blog/2005/12/progressive-image-rendering.html