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.
Related
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!
In my app, i need to take continuous images and make them as panoramic.For that it requires android sensor rotation calculations.Accelerometer pitch,roll,azimuth returns values based on orientation.But it is not accurate,ie suppose if a image is taken in the beginning as the starting image,then next image should be clicked only after sufficient device rotation.Likewise it should take some 5 - 6 images and make one panoramic image.
Here the problem is:
How to calculate the device rotation(using augmented reality if possible) and take images automatically?
Any help is appreciated.Thanks
My answer is actually not about gyroscope, and I don't know if it's still actual for you, but hope it will be helpful for someone.
Panorama feature is already implemented in standard android camera at least since Android 4.0 (perhaps it was available in even earlier versions but I'm not sure, you can check it), so since source code is open for everyone, it might be the easiest way just to copy required functionality.
Although you can download source of apps from https://android.googlesource.com/ (you want LegacyCamera or Camera), you can't just open project of any standard app in Eclipse or other IDE. For example, LegacyCamera depends on Gallery2 and other dependences that might be hard to be resolved.
I spent several days trying to move panorama feature to separate project. You can download it from here: https://github.com/yankeppey/PanoramaSample . Several remarks:
Functional core (creating one panorama image from several ones, progress notices, etc) is on native part.
I used java code from from LegacyCamera which was used in Android 4.0-4.1, not 4.2, because it was significantly easier for me. Native part is taken from 4.2, it has only minor changes inside and almost the same JNI interfaces.
This project is just to help you move panorama feature to your own app, it's not like kind of library, don't expect clean code without bugs, it's just pretty dirty and buggy project. If I have time I'll try to make it cleaner, but there is no warranty :)
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.
I am making an app which will allow the user to click a picture and then apply various effect filters on the picture. Basically, I want to create an app similar to Pudding Camera.
I researched a lot and came across 3 options to do this:-
1) Use OpenCV and implement all the effects manually [not my first priority as it uses a lot of time, but will do this if all else is unfruitful].
2) Use a library like ImageMagick / ImageJ / Marvin by porting to Android via NDK.
3) Use a library like jjil.
Now I want to know which is the best way to proceed. My priorities are:-
1) I want to be able to tweak the effects and maybe create new custom effects of my own.
2) I want it to run fast as I want my app to be quick and responsive.
3) I want to use a library which is easiest to learn as I am not an expert in image proccesing.
Please help!
OpenCV works well for Android 2.3 and beyond, you can consider FastCV by Qualcomm, which is like OpenCV but more optimized for Qualcomm chips.
I don't not recommend JJIL, it hasn't been updated for ever and only works on very old version of Android.
Best lib for to use and to learn. Catalano Framework. Check this article, you will learn quickly with few lines of code, contains several examples. There is several filters running in multithread, you can check in this namespace Catalano.Imaging.Concurrent.Filters
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