opencv – Computer Vision and AR libraries availabe for Android?-ThrowExceptions

Exception or error:

I am starting out as an Android Developer, and I would like to know if there are any Computer vision libraries or Augmented Reality libraries for the Android SDK, as I am planning to use these libraries for a mobile app.

I have read that if I download the NDK, I might be able to “import/use” the C openCV, and ARtoolkit libraries, but I am wondering if this is possible, or if there is a better and easier way of using these tools.

Android apps are programmed in Java, yet OpenCV & ARtoolkit use C/C++. Is there any way to use these libraries?

How to solve:

There are a number of wrappers for OpenCV available. For Java you might check JavaCV out.

To my knowledge, there is GSoC activity on AR with OpenCV on Android, but they seem to use C++.

###

Qualcomm is working on an Augmented Library for Android. As was mentioned opencv is also an option.

###

I would like to know if there are any
Computer vision libraries or Augmented
Reality libraries for the Android SDK

In the SDK? No. There are existing AR applications for Android (Layar, WIKITUDE) that you may wish to use as your foundation.

Is there any way to use these
libraries?

A quick search via Google turns up this and this.

###

Layar has made Layar Vision available to developers:

Layar Vision uses detection, tracking and computer vision techniques
to augment objects in the physical world. We can tell which objects in
the real world are augmented because the fingerprints of the object
are preloaded into the application based upon the user’s layer
selection. When a user aims their device at an object that matches the
fingerprint, we can quickly return the associated AR experience.

[…]

Layar Vision will be applied to the following Layar products:

  • 6.0 version of Layar Reality browser on Android and iPhone iOS platforms.
  • iPhone Layar Player SDK v2.0.
  • The first release of an Android Layar Player SDK.
  • Layar Connect v2.0.

The simplest solution is to create a Vision layer, then use launcher creator for Android to create a layer launching app.

###

You can code in Java using OpenCV4Android, the official Android port of OpenCV. If you want to use native C++ OpenCV code, check out the Android NDK instead.

###

There’s a new option for CV on Android, the Google Mobile Vision API. The API is exposed through com.google.android.gms.vision and lets you detect various types of objects (faces, barcodes, and facial features) given an arbitrary image bitmap.

In addition, Google provides the Cardboard VR library and a Unity plugin to make it easier for you to develop VR applications – such applications could include AR based on Mobile Vision if you integrated the phone’s camera.

###

Now Google offers us 2 powerful SDKs: ARCore and ML Kit.

ARCore API has such important features as Augmented Images, Augmented Faces and Cloud Anchors. It supports Kotlin/Java languages, debugging apps on Emulator (AVD) and physically based rendering (PBR) with a help of Sceneform.

ML Kit API brings Google’s machine learning expertise to mobile developers in a powerful and easy-to-use package. Although ML Kit is still in beta stage it allows you to work with such important features as: Image Labelling, Text Recognition, Face Detection, Barcode Scanning, and Landmark Detection.

Leave a Reply

Your email address will not be published. Required fields are marked *