Skip to content

Instantly share code, notes, and snippets.

@lolongcovas
Created June 27, 2015 10:45
Show Gist options
  • Save lolongcovas/22ab7e5b822363102aa1 to your computer and use it in GitHub Desktop.
Save lolongcovas/22ab7e5b822363102aa1 to your computer and use it in GitHub Desktop.
HowTo Android OpenCV NDK

OpenCV NDK

Download OpenCV SDK for Android

>>wget http://freefr.dl.sourceforge.net/project/opencvlibrary/opencv-android/3.0.0/OpenCV-3.0.0-android-sdk-1.zip

Setup OpenCV SDK fro Android

>>unzip OpenCV-3.0.0-android-sdk-1.zip
>>cd path2nkd/toolchains/<ARCHITECTURE>/prebuilt/linux-x86_64
>>mkdir user
>>cd path2opencv_android_sdk
>>cp -r OpenCV-android-sdk/sdk/native path2nkd/toolchains/<ARCHITECTURE>/prebuilt/linux-x86_64/user
>>cd path2nkd/toolchains/<ARCHITECTURE>/prebuilt/linux-x86_64/user
>>mv native opencv-native

Setupe Android.mk File

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES:=on
include $(TOOLCHAIN_PREBUILT_ROOT)/user/opencv-native/jni/OpenCV.mk

# define a static library containing our NEON code
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
    LOCAL_MODULE	:= hello
    LOCAL_SRC_FILES := hello.cpp

    #Enables use of exceptions
    LOCAL_CPPFLAGS += -fexceptions
    #Enables use of the android logging library files
    LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog -ldl -ljnigraphics
    OPENCV_LIB_PATH := $(TOOLCHAIN_PREBUILT_ROOT)/user/opencv-native/libs/armeabi-v7a/
    LOCAL_STATIC_LIBRARIES := cpufeatures opencv_java
    LOCAL_ARM_NEON  := true # enable ARM NEON Instructions
    EXTRA_CFLAGS := -D__ARM_NEON__
    include $(BUILD_SHARED_LIBRARY)
    $(call import-module,android/cpufeatures)
endif # TARGET_ARCH_ABI == armeabi-v7a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment