Open Source Android Apps for Developers: Android-opencv

Apps Description
Android-opencv is an open source Android project which is an attempt at a modern port of OpenCV to Android. The developers are using recent trunk sources from OpenCV and building them with a modified Android NDK, by crystax. The crystax ndk has support for STL and exceptions, and so fits the new OpenCV structure nicely.

Using the NDK, OpenCV may be built for the android platform. The opencv port is in svn/trunk/opencv. It is essentially a snapshot of the opencv trunk – rev 3096. In the future this will be made compatible with trunk, but for simplicity we are freezing opencv until this works consistantly.

Due to recent advances in the Android OS, the developers are taking advantage of features available in 1.5 onward. Also, some features only available in 2.1 and up are being used for the CVCamera demo. We will try to have code that runs on phones lower than 2.1 one, but for now, the features in 2.1 and 2.2 are too temping to use (faster camera previews, hardware floating point and native OpenGL ES 2.0).

Project Home

Project owners…, karasevpa, garybradski



Source Code
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout android-opencv-read-only

CVCamera is an app for passing camera preview frames to OpenCV. CVCamera is an example of how to use the android-opencv port in your own projects. It links to a reusable android library that lives in the opencv/android directory. It also, builds swig wrappers that link to that library, using a makefile to do swig and ndk-build steps. See downloads for an apk to download onto your phone.

This is an app for getting live preview frames into opencv. This app can detect FAST,STAR, and SURF feature points in live frames. Also try the camera calibration. Select the menu key to switch between modes. In calibration mode, point at a chessboard pattern that is 6×8 inside corners, and it will progress until it gets 10 good chessboard captures. You must press the camera capture button, space bar, or dpad to take an image of a chessboard. It will save the calibration on your sdcard, under /sdcard/opencv/camera.yml

About OpenCv
OpenCV is a computer vision library originally developed by Intel. It is free for use under the open source BSD license. The library is cross-platform. It focuses mainly on real-time image processing. If the library finds Intel’s Integrated Performance Primitives on the system, it will use these commercial optimized routines to accelerate itself.

The library is mainly written in C, which makes it portable to some specific platforms such as Digital signal processor. Wrappers for languages such as C#, Python, Ruby and Java (using JavaCV[3]) have been developed to encourage adoption by a wider audience.

However, since version 2.0, OpenCV includes both its traditional C interface as well as a new C++ interface, that seeks to reduce common programming errors when using OpenCV in C. Much of the new developments and algorithms in OpenCV are in the C++ interface. Unfortunately, it is much more difficult to provide wrappers in other languages to C++ code as opposed to C code, therefore the other language wrappers are generally lacking some of the newer OpenCV 2.0 features.

Posted by Cute Android

Related Android Apps:

  1. Open Source Android Apps for Developers: Zxing
  2. Open Source Android Apps for Developers: Libgdx
  3. Open Source Android Apps for Developers: Android-bluetooth
  4. Open Source Android Apps for Developers: Open-gpstracker
  5. Open Source Android Apps for Developers: Android-mediamanager
  6. Open Source Android Apps for Developers: Kwaak3
  7. Open Source Android Apps for Developers: VuDroid
  8. Open Source Android Apps for Developers: Andrico
  9. Open Source Android Apps for Developers: Forget3d
  10. Open Source Android Apps for Developers: Android-fileshare