如何整合OpenCV的经理在一个Android应用程序 [英] How to integrate opencv manager in an android app

查看:95
本文介绍了如何整合OpenCV的经理在一个Android应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个Android应用程序,使用了OpenCV库是OpenCV的管理应用程序。 它需要OpenCV的经理被pviously安装$ P $, 我想OpenCV的管理整合我的应用程序中,这样它不需要从外部安装OpenCV的经理

I'm developing an android app that uses opencv libraries which is opencv manager app. It requires opencv manager to be installed previously, I want to integrate the opencv manager inside my application so that it does not require to install the opencv manager externally

在此先感谢

推荐答案

1 - OpenCV的库项目添加到您的工作空间(使用菜单文件 - >导入 - 在您的工作空间>现有项目)

1 - Add the OpenCV library project to your workspace ( Use menu File -> Import -> Existing project in your workspace.)

2 - 在应用程序项目中添加引用OpenCV的Java SDK的在项目 - >属性 - > Android的 - >库 - >添加选择的OpenCV库 - 2.4.8

2 - In application project add a reference to the OpenCV Java SDK in Project -> Properties -> Android -> Library -> Add select OpenCV Library - 2.4.8.

3 - 添加一个文件夹,命名为JNI

3 - Add a folder and name it "jni"

4 - 添加一个Android.mk文件到JNI文件夹中。它的身体应该如下:

4 - Add an Android.mk file into jni folder. Its body should look like below:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include ../../sdk/native/jni/OpenCV.mk

5 - 添加Application.mk文件到JNI文件夹中。它的身体应该如下:

5 - Add an Application.mk file into jni folder. Its body should look like below:

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-9

6 - 添加到您的活动

6 - Add this to your Activity

static {
        if (!OpenCVLoader.initDebug()) {
            // Handle initialization error
        }
    }

7 - 如果你已经添加了以下code到你的活动,注释掉OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8,这一点,mLoaderCallback); 你并不需要加载的OpenCV的简历事件了。

7 - In case you have added following code to your Activity, comment out OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback); You don't need to load OpenCV on resume event any more.

@Override
    public void onResume() {
        super.onResume();
        //OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback);
    }

    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
            case LoaderCallbackInterface.SUCCESS:
                //OpenCV loaded successfully
                break;
            default:
                super.onManagerConnected(status);
                break;
            }
        }
    };

看一看这一点: <一href="http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization" rel="nofollow">http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization

Have a look at this too: http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization

这篇关于如何整合OpenCV的经理在一个Android应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆