Want a Quick Start link? Use this tutorial: “OpenCV for Android SDK”.
What you should know
There are two major types of OpenCV4Android beginners, first group is new to Android, and the second - to OpenCV. We’ll try to provide some advice for both:
- If you’re an experienced OpenCV adept and you want to start with Android, you should remember, that Android is not desktop OS, you should prepare yourself for mobile development. We’re not aiming to teach you all about Android, so in case you’re not really familiar with the platform, you may consider consulting the official website for developers, or some short introduction like this one. At the same time, we’ve prepared a special “Introduction into Android Development” tutorial and a set of samples helping you to become familiar with Android specifics. What’s important, is that you can reuse your C++ desktop code. It’s even recommended to develop and debug your algorithms in familiar environment, using your PC and favourite IDE. Of course you have to keep efficiency in mind, but please avoid premature optimization. OpenCV was designed to be high-performance, so measure your actual performance before you start to worry. Keep in mind, that majority of modern mobile devices is surprisingly powerful.
- If you’re a confident Android developer, but you need some information on OpenCV, please have a look at the documentation and use the user-support resources if needed: forum and issue tracker. And do not forget to look into tutorials, they will help you to quickly understand what you can easily accomplish with OpenCV. Computer Vision field has a long history, but some problems are still unsolved. If you’re not sure if OpenCV could help you with your task, just ask your question at our forum, people there like to solve quirky problems.
How to start
OpenCv4Android is available as a SDK with a set of samples and Javadoc documentation for OpenCV Java API. It also contains prebuilt apk-files, which you can run on your device instantly. There are three OpenCV tutorials aimed to help you start:
- “Introduction into Android Development” would be useful for the absolute beginner, because it shows you how to setup Android development environment.
- Detailed instructions on SDK are available in the “OpenCV for Android SDK” tutorial. You’ll see a couple of sample applications, which you can use as a basis for your own developments.
- “Android development with OpenCV” shows you how to add OpenCV functionality into your Android application. For those who want to reuse their C++ code, we’ve created a special section: “Native/C++”. We propose this way for the professional developers, since native development is a bit harder, but gives you larger opportunities. Face detection sample shows an example of wrapping a C++ class to the Java.
If you need additional information on OpenCV usage models, you can check this page.
- OpenCV Q&A forum: http://answers.opencv.org. Use it as a major resource for Computer Vision and OpenCV consultancy.
- Read-only OpenCV4Android group: https://groups.google.com/group/android-opencv. This group was replaced by the Q&A forum from above, but its archive is still available.
- Tutorials: “Introduction into Android Development”, “OpenCV for Android SDK”, “Android development with OpenCV”.
- Documentation on “OpenCV Manager”: please check these slides.
- Javadoc html-files are included into the distribution and available online.
- Android Samples
- Android Best Practices
Information on OpenCV:
- Official documentation for the latest public release: http://docs.opencv.org.
- Daily documentation build: http://docs.opencv.org/master/.
- And please pay special attention to the tutorials and C++ cheatsheet!
3rd-party samples and tutorials:
- Open Source Google Glass samples by Jared Burrows and Andre Compagno
- Eyes detection and tracking on Android sample by Roman Hošek (the “face-detection” sample extension)
- You know, we love contributions, especially pull requests on the GitHub!
If you think you’ve found a new bug, let’s double-check it:
- Please check that you use the latest version of OpenCV4Android.
- Please check the open “Android issues” on the tracker.
- Ask OpenCV community about your problem.
- If you’re still suspecting that you’re probably the first human who met such problem, let’s file a bug! Instructions are here.