An application I want to implement must use camera to recognize a complex entity consisting of an image and some text. Depending on the text different scenarios must be triggered.
What are my options ? openCV ?
Android NDK and OpenCV
It's available here
http://opencv.org/downloads.html
The android package contains prebuilt opencv's libraries, so you dont have to build it from source which is very nice. Also, they have lots of examples of how to use opencv camera or android camera to do color/image recognition.
Related
Is it possible to scan a passport image using mobile camera and save his details and later detect that person using an Android mobile camera and fetch his details ?(Face detection)
I'd suggest you to use OpenCV Recognition API.
This API can let you save face data of a person and then use it to match with the new face data that you can get.
There are two ways to go about it
Use OpenCV for Android
Use JavaCV
OpenCV for Android is more fully supported than JavaCV. Follow Google's instructions to install Eclipse, the Android SDK and NDK (don't forget the NDK!)
Afterwards, follow this tutorial to install openCV. Try out the sample applications.
Alternatively, you can try using JavaCV instead of OpenCV for Android. This means you won't need to setup the Android NDK. It also means you won't need to write any C++. I didn't try this. But I suspect it is easier.
The downside is: it doesn't support everything OpenCV does.
My android app uses only two image processing functions in the OpenCV library - Gaussian blur and Adaptive Threshold.
The beta testers of my app all feel that it would be better if they don't need to download the seperate app, the OpenCV Manager before they can use my app. I could include the OpenCV library inside my app but my app would increase in size by 50Mb which is not very great..
Is it possible just to extract these two functions out? Or is there java source codes which could perform adaptive threshold on a Bitmap out there that can be used?
Thanks in advance!
I have a basic requirement for a simple image editing app for android.
After displaying the image the user must be able to set alpha of the image , choose
brightness , set contrast.
For achieving this task i have tried the following libraries :-
1. JJIL
2. Android Image Filtering
3. Aviary SDK
For JJIL i am facing problem importing the projects.
For Android Image Filtering , there isnt much documentation available.
Using Aviary i can achieve this but it has the aviary logo and using this SDK the user can
choose get more features options and navigate to aviary app in app store.
Which is the better way of doing this ? shall i use a library or i should use native android color class ?
Thanks in advance
Use GPUImage if you want to use OpenGL (fastest I know)
You can use Image Effect Pro which uses pure Java ( relatively slower) image processing.
You can also try Fast Image Processing Library (OpenGL based)
You can read more about Image Processing stuffs from here and here
We at Img.ly have released an image editing SDK for Android as part of our PhotoEditorSDK product suite. It includes all the functions you mentions and is easily customizable
You can find a demo application here. You can use the library for free in your open source projects, but there is a license fee for commercial applications.
How can i make some loop that run on all the pixels on the image that i got from the camera ?
I want to be able to scan all the pixels and according to the RGB of some pixel i need to make some decision about the next activity that my application will make.
I know some android or java image libraries, maybe you can find what you want in one.
Android image filter
Android image filtering
Jhlabs pure java and Android
Javacv
JJil
I think you can use some C++ libraries too, like:
CImg
OpenCV
http://opencv.willowgarage.com/wiki/Android or http://code.google.com/p/javacv/ ?
I am new to computer vision, and want to do something on the phone camera such as matching the current screen to the most similar image in the database.
Both of them are java, what are the differences? Which one should I use?
Thank you so much for helping!
JavaCV is a wrapper around some native libraries, including OpenCV.
In any case you are going to use OpenCV, either directly by writing your own wrapper or using OpenCV's Android wrappers or using JavaCV.
As said JavaCV uses several libs, so it has many more features than only OpenCV. If you need those features than naturally you'd choose JavaCV.