如何在本机c ++代码中使用android studio中的opencv

时间:2015-01-13 17:54:36

标签: opencv android-studio

我如何在android studio的项目中使用openCV - 但我需要在其他原生cpp文件中使用它而不是在java中。

我找到的所有指南和教程都解释了如何在java文件中使用openCV(loadLibrary ..) 例如thisthis

最终我拥有jniLibs文件夹中的所有.so或将openCV添加为具有依赖项的模块, 但我该怎么做“#include ..”? 怎么没有得到

  

错误:'cv'不是名称空间名称

  

使用namespace cv;

? (当然还有其他openCV代码......)

非常感谢!

1 个答案:

答案 0 :(得分:5)

最后我成功了:

我创建了自己的android.mk文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)


# OpenCV
OPENCV_INSTALL_MODULES:=on

include path/to/OpenCV-2.4.10-android-sdk/sdk/native/jni/OpenCV.mk


LOCAL_MODULE := glucomesdk
LOCAL_CFLAGS := -I/path tp/OpenCV-2.4.10-android-sdk/sdk/native/jni/include -Wall -Werror 
LOCAL_SRC_FILES := \ all my cpp files

LOCAL_C_INCLUDES += /path to/src/main/jni
LOCAL_C_INCLUDES += /path to/src/debug/jni
LOCAL_C_INCLUDES += /path to/OpenCV-2.4.10-android-sdk/sdk/native/jni/include

LOCAL_STATIC_LIBRARIES := /path to/OpenCV-2.4.10-android-sdk/sdk/native/libs/armeabi-v7a/libopencv_core.a

LOCAL_LDLIBS += -llog -ldl

include $(BUILD_SHARED_LIBRARY)

然后我在终端中使用此代码来构建共享库(.so)

/path/to/android-ndk/ndk-build NDK_PROJECT_PATH=/path/to/project APP_BUILD_SCRIPT=/path/to/Android.mk NDK_OUT=/path/to/project/module/build/intermediates/ndk/debug/obj NDK_LIBS_OUT=/path/to/project/module/build/intermediates/ndk/debug/lib APP_STL=stlport_static APP_ABI=armeabi-v7a

之后我使用gradle的汇编(debug)创建一个包含java代码和共享库的aar文件