For Example : if i have a rose in two different image. How to compare that rose irrespective of color, size and angle of view.
Refered different posts in stackoverflow but didnt get solution for what i am looking for.
Not 100% sure what are you trying to accomplish, but it looks like you need some image recognition to do. For example, this is the first result I get when i google "android image recognition" http://catchoom.com/documentation/image-recognition-sdk/android-image-recognition-sdk/ Maybe it could help.
Related
I have to stitch two images and I use openCV4Android.I read docs and some threads in about stitching images,for example: Panorama – Image Stitching in OpenCV , Homography between images using OpenCV for Android , Stitch multiple images , Error matching with ORB in Android and others.At first,it seems easy.But the result is strange!Below,you can see two images that I used for test and result:
Here is "image1":
This is "image2":
You can see drawed features:
And this is result of warping image1:
What I did wrong?Or it may be I did not understand good?
Quick answer:
I would say that you don't have enough overlap between your images. If you look at your matches (what you call "drawed features"), most of them are wrong. As a first test, try to stitch two images that have, say, 80% overlap.
More details:
Big picture:
When you stitch two images, you assume that there exists an affine transform (your "homography") that will project features from one image onto the other one. When you know this transform, then you know the relative position of your images and you can "put them together". If the homography transform that you find is bad, then the stitching will be bad as well.
How do we find the homography transform, then?
First of all, you detect features (with your FeatureDetector) on both images.
Then, you describe them (with your DescriptorExtractor). Basically this creates a representation of your features, so that you can compare two features and see how similar they are.
You match (using your DescriptorMatcher) features from the first image to the features from the second image. It means that for each feature in the first image, you try to find the most similar one in the second image. Those are your "drawed features".
From those matches, you use an algorithm called "RANSAC" to find the homography transform corresponding to your data. The idea is that you try to find a set of matches from all your "drawed features" that makes sense geometrically.
But why doesn't it work here?
If you look at your "drawed features", you will see that only a few ones on the "Go" part of "Google" and some in the boorkmarks correspond, when the others are wrong. It means that most of your matches are bad, and then it makes it possible to find a homography that works for this data, but that is wrong.
In order to have a better homography, you would need much more "good" matches. Consequently, you probably need to have more overlap between your images.
NOTE: try your code with the images used in "Panorama – Image Stitching in OpenCV"
I am trying to create an application which has a map image in it.
I want to add some areas (or buttons) to it so that when you click them the bubbles with information will appear.
I am new in android programming so asking to explain a bit how to implement it?
Also i need an image to be re-sizable just like a real map.
So should i attach the buttons to specific places on image and how to do so that the buttons will be connected to it when i re-size an image?
Which image type is better to use for this purpose? I heard that SVG would be better but i couldn't even add svg image to an application.
I appreciate any helpful advice.
For your problem you can use this:
http://catchthecows.com/?p=113
I need something similar, but the click on the image should change the content of that part as well.
When I find or implement the final solution I can post it here.
I have an image that is circular and I want to make the other junk in the image to be transparent. I've spent the last hour looking around and I can't seem to figure out how this is done for android. Any help is greatly appreciated!
I haven't worked with Android but on iOS pngs weren't loading for me when I made them in photoshop but when I made them in flash all of a sudden they would work! Try that first :)
Anyways, you want to google something along the line of "pixel arrays android code" you can create an array of each pixel, find an individual color, then make it transparent...
But I really think this is just a GIMP issue and you don't need to go through all of that hassle.
what i can understand from your uncleared words is that you want to display transparent image of a normal image you have . so i would suggest don't do it through programming . create a transparent image through any image editor tool and use it .
if image is dynamic that you cant go in this way so use Matrix and setAlpha . search over net for both the terms
i want my gallery application to be modified , like coverflow. but not exactly like coverflow. the images in the gallery view should be viewed in such a way that it should look like reverse letter "U" . i want to change the angle image in such a way that it has to go slightly go above the previous image so that i can achieve the reverse "U" for gallery view.
There are already widgets out there that you can consider using. I found one http://www.inter-fuser.com/2010/02/android-coverflow-widget-v2.html that looks very good, but it might not be exactly what you are looking for.
Here is another one based on the interfuser widget. http://code.google.com/p/android-coverflow/.
They claim to have improved the performance of it.
Whether you can use them as is or not, you can probably use the source as inspiration.
You can use preRotate or postRotate methods in android.graphics.Matrix. Check them once.
I want to Split Single Image in Four Pieces and Display it Like Single Image. How can achieve it. I split image through bitmap but it is not fixing in like one single image.
I am trying to achieve the same thing. I think this can be done by Android APIs but I would need make more research before answering on that. All I know there is a Java way to that. It might help http://kalanir.blogspot.com/2010/02/how-to-split-image-into-chunks-java.html