RSS Feed for This PostCurrent Article

Android: Computer Vision Library


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:

  1. “Introduction into Android Development” would be useful for the absolute beginner, because it shows you how to setup Android development environment.
  2. 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.
  3. “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.


JavaCV first provides wrappers to commonly used libraries by researchers in the field of computer vision: OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, and ARToolKitPlus. The classes found under the com.googlecode.javacv.cpp package namespace expose their complete APIs. Moreover, utility classes make their functionality easier to use on the Java platform, including Android.

JavaCV also comes with hardware accelerated full-screen image display (CanvasFrame and GLCanvasFrame), easy-to-use methods to execute code in parallel on multiple cores (Parallel), user-friendly geometric and color calibration of cameras and projectors (GeometricCalibrator,ProCamGeometricCalibrator, ProCamColorCalibrator), detection and matching of feature points (ObjectFinder), a set of classes that implement direct image alignment of projector-camera systems (mainly GNImageAligner, ProjectiveTransformer,ProjectiveColorTransformer, ProCamTransformer, and ReflectanceInitializer), a blob analysis package (Blobs), as well as miscellaneous functionality in the JavaCV class. Some of these classes also have an OpenCL and OpenGL counterpart, their names ending withCL or starting with GL, i.e.: JavaCVCL, GLCanvasFrame, etc.


FastCV is a computer vision library being released by Qualcomm. The library is targeted toward very sophisticated Computer Vision (CV) application developers who are interested in writing CV applications that run on mobile devices. FastCV 1.0 is specifically designed to run efficiently on Android mobile devices, but it is anticipated that subsequent versions of FastCV will support mobile devices running on iOS and WinPhone operating systems. 

The FastCV 1.0 library will be released as a unified binary. This unified binary file has a single API, but contains two implementations. The first implementation is designed to run efficiently on any ARM processor, and is named ‘FastCV for ARM.’ The second FastCV implementation runs only on Qualcomm SoC’s and is called ‘FastCV for Snapdragon.’ ‘FastCV for Snapdragon’ has the same API as ‘FastCV for ARM,’ but it provides hardware accelerated implementations of the CV functions included in the library.

Trackback URL

Sorry, comments for this entry are closed at this time.