2015-01-13 35 views
5

làm cách nào tôi có thể sử dụng openCV trong dự án của studio android - nhưng tôi cần sử dụng nó trong các tệp cpp gốc khác chứ không phải trong java.cách sử dụng opencv trong studio android bằng mã C++ gốc

tất cả các hướng dẫn và hướng dẫn tôi tìm thấy giải thích làm thế nào để sử dụng OpenCV trong các tập tin java (LoadLibrary ..) ví dụ thisthis

cuối cùng tôi có tất cả các .so trong thư mục jniLibs hoặc thêm OpenCV như một module với sự phụ thuộc, nhưng tôi làm gì "#include .."? làm thế nào tôi có thể không nhận được

error: 'cv' is not a namespace-name

cho

using namespace cv;

? (và tất nhiên mã openCV khác ...)

cảm ơn rất nhiều!

Trả lời

5

cuối cùng tôi đã thành công:

tôi tạo ra tập tin android.mk của riêng tôi:

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) 

sau đó tôi sử dụng mã này trong terminal để xây dựng các thư viện chia sẻ (.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 

sau đó tôi sử dụng lắp ráp của gradle (gỡ lỗi) để tạo một tệp aar chứa cả mã java và thư viện được chia sẻ

Các vấn đề liên quan