2015년 11월 24일 화요일

OpenCV android JNI(NDK) 설치 및 설정

opencv를 사용하기 위해서는 우선, android용 opencv를 설치해야한다.
http://opencv.org/downloads.html

opencv를 설치하기 전에, 혹시 ndk설치 및 설정도 하지 않았다면, 다음 링크를 통해 우선 ndk 개발환경 구축부터 하자. 


- NDK 개발환경 구축

android에서 자바 코드로 작성 외, C또는 C++로 코드를 작성하기위해서는 NDK를 설치해야한다.
이를 설치하기 위한 방법 및 세팅에 대해 알아보곘다.

우선, Cygwin을 설치 해야한다.
위 경로로 들어가서 cygwin을 설치한다. 32bit, 64bit를 확인하고 설치하기 바란다.

설치가 완료 되었으며, 이제 환경변수를 등록해야한다. 
시스템 변수의 Path 를 추가하자. 아래의 두 경로를 추가하면 되겠다.
C:\cygwin\bin;
C:\cygwin\usr\include; 

다음으로 NDK를 설치해보자.
NDK를 설치하기 위해서는 아래 url을 통해 다운받을 수 있다. 

혹시, opencv를 사용할 예정이라면, 다른 버전을 받아야 하며, 다음 url을 통해 설치하자.
안드로이드 ndk를 설치하였으면, 설치된 파일을 cygwin이 설치된 경로의 /home/사용자 계정 으로 옮기자.
C:\cygwin64\home\Administrator
위 경로는 cygwin을 실행하기 전에는 파일이 존재하지 않으니 한번쯤은 실행해야한다.

ndk설치가 끝났고, cygwin의 .bashrc파일을 열어서 편집해야한다.
이클립스를 실행하고, .bashrc파일을 열어서 맨 마지막에 
export ANDROID_NDK_ROOT=/home/사용자계정/ndk폴더 을 등록한다.

마지막으로 환경변수 설정이 남았다. 시스템 변수 path에 ndk경로를 추가해준다.
예시 ) C:\cygwin64\home\Administrator\android-ndk-r8-crystax-1

ndk개발환경 구축이 끝났다.
ndk 개발환경 구축 및 opencv설치가 완료되었다면, 이제 opencv를 설정하고 활용해보자.

1. Android.mk 변경
Android.mk 파일에 opencv 경로를 적어줘야 한다.
예시)

LOCAL_PATH :$(call my-dir)
include $(CLEAR_VARS)

include C:/android_opencv/sdk/native/jni/OpenCV.mk

LOCAL_MODULE    := native_activity
LOCAL_SRC_FILES := native.cpp
LOCAL_LDLIBS    += -lm -llog -landroid
LOCAL_STATIC_LIBRARIES := android_native_app_glue

include $(BUILD_SHARED_LIBRARY)


$(call import-module,android/native_app_glue)

2. Application.mk 생성 
c++를 사용한다면 이미 생성되있겠지만, 없는경우 생성하자.
APP_ABI := all
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_PLATFORM := android-9




댓글 없음:

댓글 쓰기