【问题标题】:how to use opencv in android studio in native c++ code如何在原生 C++ 代码中在 android studio 中使用 opencv
【发布时间】:2015-03-11 18:41:39
【问题描述】:

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

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

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

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

使用命名空间 cv;

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

非常感谢!

【问题讨论】:

    标签: opencv android-studio


    【解决方案1】:

    我终于成功了:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2023-03-29
      • 2015-08-23
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多