Ask Your Question

OpenCV for Android, do I need to install OpenCV Manager separately?

asked 2012-09-09 21:40:14 -0600

capcom gravatar image

Just started looking into OpenCV for Android. I noticed that I need to install something called OpenCV Manager before I can run the apps that use it.

Is there any way to bundle this manager with my app, so that users won't have to install it separately? It would really help if this was possible.

I haven't written an app that uses OpenCV yet, but I'm just looking ahead.

Many thanks.

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2012-09-10 07:03:52 -0600

Andrey Pavlenko gravatar image

The Android Manager was introduced to avoid the need to keep OpenCV libs copy inside each app package. Instead it is installed as a separate app and share a single OpenCV instance across all the app-s in the system. See the slides for details.

If you prefer not to use OpenCV Manager advantages and keep own OpenCV copy in your app APK, follow the static initialization option.

edit flag offensive delete link more


Well slides are good to give better understanding for why we need to use Android Manager but it look awkward that the user have to download something extra with the app , but do you think that mostly photo editing app's use opencv ? can we use OpenCV with android 2.2 and for all above

FLY gravatar imageFLY ( 2014-05-03 15:50:40 -0600 )edit

The static initialization option you told is not working in my case can you please help me it is not opening the camera and when I switch to native-camera it crashes please help.

Onkar Sharma gravatar imageOnkar Sharma ( 2015-03-01 23:36:48 -0600 )edit

Link to static initialization doc is now dead; where do I find this?

andrewwyld gravatar imageandrewwyld ( 2015-07-08 04:21:51 -0600 )edit

answered 2012-12-04 06:17:37 -0600

vpedak gravatar image

Hi, Andrey.

First of all, thank you for OpenCV itself and Adnroid support!

Yes, you solved the problem that now only necessary libraries are loading to device (only libraries for this hardware platform). But seems you introduced new problem. Now user have to install some unknown application (OpenCV manager). And this is a real problem for regular user.

I am sure most of developers will have to use static initialization to avoid addition problems with user.

I think the case that 2 different application will use OpenCV at one device is very rare and this is not a problem. Main benefit from using OpenCV Manager is to avoid providing libraries for all platforms (as I understand). So what about to focus at this?

What about to crate common code (library) that all developers can use that will simple find what hardware is using and download necessary native library for this platform (from some shared location that you will own)? I think this will be the best solution for most of developers. And we will not need to ask user to install any new application (this code will be run inside my application and download necessary libraries for my application only).

edit flag offensive delete link more

Question Tools


Asked: 2012-09-09 21:40:14 -0600

Seen: 3,664 times

Last updated: Dec 04 '12