integrate opencv manager in an android app

来源:互联网 发布:hybbs论坛源码 编辑:程序博客网 时间:2024/06/03 20:25

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

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 - Add a folder and name it "jni"

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

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)# OpenCVOPENCV_CAMERA_MODULES:=onOPENCV_INSTALL_MODULES:=onOPENCV_LIB_TYPE:=STATICinclude ../../sdk/native/jni/OpenCV.mk

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

APP_STL := gnustl_staticAPP_CPPFLAGS := -frtti -fexceptionsAPP_ABI := armeabi-v7aAPP_PLATFORM := android-9

6 - Add this to your Activity

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

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;            }        }    };

Have a look at this too:

0 0
原创粉丝点击