Include OpenCV in android application package - android

I need to work on detecting edges from an Image, I'm using Canny algorithm for that.
Since OpenCV for android is available 2.4.2 while i'm trying to run examples it says.
"OpenCV Manager is not installed, please try to install it." after install it from the market it is working fine.
But if i want the user's to install my application so that they don't have to install another .apk for using my application.
-> How to use openCV without without asking for another application i.e. manger should be pre installed.?
-> is there any way i can use Canny algorithm for edge detection without OpenCV any good angorithm tutorials for implementing in in android.?

You might find information about this on the OpenCV webpage. This said, this is deprecated and OpenCV advises not to do this in production. The manager actually allows the user to download the OpenCV library once for all. Then, your application will be much smaller!
About not using OpenCV, you can try FastCV (as Aaron suggested), but it seems overkill for your application (and it requires you to be familiar with NDK development). With OpenCV, in the other hand, you can code either in java (by the way, have a look at JavaCV) or using the NDK.
Finally, if you only need a Canny Edge detector and don't want to use a library, you can try to write it yourself. The related page on Wikipedia should be enough for this (I could do it a few years ago as an exercise).

Have you looked into Qualcomm's FastCV? It offers some of the more common image processing algorithms offered in libraries like OpenCV. They also have a pretty cool augmented reality API called Vuforia.
Fair warning, the support documentation isn't that great and it requires that you are familiar with NDK development.
https://developer.qualcomm.com/mobile-development/mobile-technologies/computer-vision-fastcv

Related

Android face detection alternatives

I have sucesfully implemented face detection in my app using Android's Camera.FaceDetectionListener (following the Android Developers guide), but unfortunatelly some devices does not support this feature. Is there another way to achieve the same result?
I usually work with OpenCV to make image processing algorithms.
http://opencv.org/platforms/android.html
Its algorithms are much better than Android face detection, besides if you download the SDK you have a faceDetection example.
Here are the downloads:
http://opencv.org/downloads.html
The sdk, handles camera api 2, which it works at 30 fps, with a wrapper if you want to process video frames. Besides there are samples where you can mix Java OpenCV code with JNI code, to make so much faster your algorithm.
Unfortunately, these examples are made on Eclipse projects, but they are not difficult to merge into Android studio project.
I hope that these references are useful
Cheers.

Developing Face Recognition App

i'm new to developing android apps in general.
I'm trying to create an application that given a certain image it would detect faces and would give me the eye locations and other info.
I've done some research and i found some stuff such as, the android FaceDetector API and OpenCV.
Could anyone give me some advice on how to make an app like this or send me a link with any info related to this, all help would be great!
Thanks, Daniel.
I have worked with Face recognition for a while.
If you want to use OpenCV you could do a better effort searching in SO and you can found things like this one.
The best one for me is the SDK provide by lockheed martin... but it's too expensive :S for a single person.
Edited
"Face detection and face recognition are different things ;) Face detection tells you where is the face and face recognition tells you who's the owner of the face"
If you choose OpenCV, you can find full doc in official page.
I'm going to give you a overview :
You can use OpenCV in your app using "OpenCV Manager" or with "Static Initialization on OpenCV Android".
About the first one:
OpenCV Manager is an Android service targeted to manage OpenCV library binaries on end users devices. It allows sharing the OpenCV dynamic libraries between applications on the same device. The Manager provides the following benefits:
Less memory usage. All apps use the same binaries from service and do not keep native libs inside themselves;
Hardware specific optimizations for all supported platforms;
Trusted OpenCV library source. All packages with OpenCV are published on Google Play market;
Regular updates and bug fixes;
About the second one:
A complete tutorial using eclipse.
You might try the new Android face API. See the tutorial here about how to detect faces and facial landmarks:
https://developers.google.com/vision/detect-faces-tutorial
I explain how to do it in this article. I used a TensorFlow Lite with a MobileFaceNet implementation, achieving very accurate results and with surprisingly high speed.
You'll find the source code and an APK in this repo

Which AR (Augmented Reality) framework (Android & iOS) is suitable for my situation

My Situation
I want to build an Application that can recognize an Image to produce a corresponding model.
i.e. I focus the camera to show a printed image on the card that is designed by myself ( apple logo ) , then it will show a 3D model(.md2) on the screen which is also designed by myself.
I have googled many framework that worked on both Android & iOS, but the documentations are very limited and the trial version does not support me to test it.
for example,
http://www.metaio.com/sdk/
But their demo is not comprehensive enough to suite my situation
My Question
1.Would anyone can share their experience of developing with AR framework (not the AR core) on Android & iOS?
2.Is there any framework that support me to add a image as a key then it will map to my model with just a couples line of codes?
3.if Q2 is not possible, is there any approaches of some framework can also archive the some goal but more complex ?
//Logic flow
String key = "APPLE";
sdk.putKeyImage(key,apple.png);
...
if (sdk.identifiedAs(key)){
//Do something
//Example
sdk.showApple3DModel();
play(showSnakeEatApple.mp4);
}
I'm an android app developer. So according to my experince for android, you can go for
Vuforia (https://developer.vuforia.com/resources/sdk/android)
Wikitude (http://www.wikitude.com/developer/documentation/android)
These above 2 are enough good to implement AR app in android.
Vuforia is having well documented, also they have more libraries & mainly those are free. & Wikitude is best for making apps faster. I recommend you to use any of these for your AR app development in android.
I guess you should compare several AR frameworks to find a proper solution for your problem. Many different AR tools come to my mind. For example, Vuforia, LayAR, Kudan AR. To take a deeper look at the variety of possible options read the comprehensive comparison of the most popular frameworks: http://cases.azoft.com/top-5-tools-creating-augmented-reality-apps/
yes i did work on it not much but little bit i did research on augmented reality and after research i found one open source and cross platform well known sdk its name is
VUFORIA SDK
there are various SDK you find on google but trust me VUFORIA is best and flexible who gives lots of option
for that you need to install NDK in eclipse cause it have core cpp code who compile by NDK in eclipse
video tutorial click here
sdk and documentation click here
steps click here
hope it will be helpful for you thank you happy coding

Is there a (somewhat high level) C++ library to create pdf documents that runs on iOS and Android?

I need a C++ library that runs on Android and iOS which can be used to create PDF documents.
So far I have found libHaru:
libHaru is a free, cross platform, open source library for generating PDF files.
The library seems fine and I already found a working example on how to use it with iOS.
But I would like to have a library less "low level", because in libHaru you have to manually create new pages, line breaks etc. So the question is if someone can advice me any C++ library which can run on Android and iOS and is a little bit more high level.
As a bonus: It would be great, if that library is also free (as in freedom) or at least free to use.
Edit: I have tried Qt and it is rather clumsy to use in such an early development stage (regarding iOS and Android development). I would appreciate a stable library with good documentation provided.
You can use Qt for that. The class you would be looking for is QPdfWriter The nice thing about it is, that as you draw onto that thingy, you can replace the QPdfWriter with different kinds of QPaintDevices, like QWidget or QImage and so forth. It's very generic and high level, but Qt is also quite big.

Trying to build Xerces-C++ for Android

I was looking for a way to build the Xerces-C++ library for Android that I need as a dependency of Delta3D game engine, but could not find any information on this. I would very much appreciate a professional advice.
You can copy xercesc library with Android build scripts from here.
Just copy it into your jni folder and run ndk-build.
Most Android development is done in Java. The Delta3D game engine is in C++, which means you'll need to start with the Android Native Development Kit (NDK). The FAQ claims that the library uses cross-platform dependencies, so, in theory you should be able to use it on Android. However, it is written for OpenGL, not OpenGL ES, which is the subset used in Android. This could cause an issue. The other concern would be memory footprint. There is a fair amount of work that will probably need to be done to get this to compile under Android. You might consider working with a library which has already been ported to Android (or written for it) rather than all the work that will be needed to port this, let alone writing your game. Unless, you already have a game written in this game engine, which I understand why you would want to just port the library over.

Categories

Resources