如何在 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 文件
我如何在 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 文件