Search code examples
javaandroidopencvandroid-ndk-r7java-native-interface

Tutorials on OpenCV on Android phones


I would appreciate if anyone could show me where I can get good tutorials or documentations for developing OpenCV 2.4.3 for Android. I already gone through the one on the OpenCv site and its more of configuration and getting started but not the real code explained. I want the opencv for android codes, functions and what these functions do explained. Is opencv on Android written with Java cv or the native C++ codes included using Java Native Interface?

If its the the Java cv then where can i get a good tutorials that can get me started. If its the C++ codes, included with JNI, how do i interface these Native codes with the original Android java code?

I would really appreciate If some one can show me some good tutorials or documentation if available? And if not i would like your explanation please? Best regards.

Edit:

Thanks Torcelite for you response. Could you explain more about how I am going to port the code to java (Like a bit more detail)? Is there a good tutorial that explains about how i do this. I mean when i port the code what kind of changes do i make on the original openCV code that i have made for desktop application if there is. Or do i just port the C++ code as it is on Visual Studio's open CV into the Android eclipse to work on Open cv for Android.

For example on my face detection code i have used the haar classifier with its built-in function for object detection.

function--->[cvHaarDetectObjects( , , , ,  , , ) 
//just deleted the parameters for simplicity] 

So when i want to do the same thing on android, do i will make changes when i use this function or take it as it is? What kind of job am i supposed to do when i have to port or adopt these and other function on Android to make them work. Not only this function but all the functions in OpenCV.


Solution

  • If you are not satisfied with the documentation, all the books about opencv that I know of (there aren't that many out there) you can find them in the following 2 links.

    There is a specific one about Android - "Android Application Programming with OpenCV". It will probably be the best source besides the official documentation.

    http://opencv.org/books.html

    http://www.packtpub.com/search?keys=opencv

    OpenCV for Android (and more recently for desktop Java) has nothing to do with JavaCV, the first is an official port which is basically JNI wrappers on C++ functions. JavaCV is an earlier port to Java by Samuel Audet, an independent researcher (as in not officially belonging to the OpenCV team).