如何在 android studio 中以原生 C++ 代码使用 opencv

how to use opencv in android studio in native c++ code

我如何在 android 工作室的项目中使用 openCV - 但我需要在其他原生 cpp 文件中而不是在 java.

中使用它

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

最终我在 jniLibs 文件夹中拥有了所有的 .so 或将 openCV 添加为具有依赖性的模块, 但是我“#include ..”是什么? 我怎么看不到

error: 'cv' is not a namespace-name

using namespace cv;

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

非常感谢!

我终于成功了:

我创建了自己的 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 的 assemble(调试)创建一个包含 java 代码和共享库的 aar 文件