티스토리 뷰

안드로이드에서 opencv를 설치 및 설정하는 방법에 대해 알아보도록 하겠다.

nvidia에서는 이런 과정을 모두 세팅해준다고는 하나 너무 지저분한 것들을 다설치해 버린다.ㅠ


opencv를 사용하기 위해서는 우선, android용 opencv를 설치해야한다.

http://opencv.org/downloads.html

위 링크를 통해 최신버전의 android용 opencv를 설치하자.

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

http://sks3297.tistory.com/87


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



3. Convert to a C/C++ Project

프로젝트 명에서 오른쪽을 클릭하여, Convert to a C/C++ Project을 선택한 후 Next를 선택한다.



그리고, 위 그림과 같이 Makefile project에서 Other Toolchain을 선택하고 Finish한다.



4. opencv library를 추가하자.

opencv를 설치 했다면, import하여, OpenCV Library를 가져온다. 이를 가저왔을 때, 에러가 난다면, 설정에서 안드로이드 탭으로 가서 안드로이드 버전을 설정해주고, Is Library에 체크가 된 것을 확인하자.





위 프로젝트를 내 프로젝트에 추가 시켜야한다.

내 프로젝트의 properties로 들어가서 Library를 Add한다.




5. Properties의 Builders에서 CDT Builder가 가장 위에 존재 하도록 한다.




6. 환경변수에 NDKROOT라는 변수가 없다면, 생성한다. 경로는 ndk가 설치된 경로로 지정해 주면된다.

7. C/C++ 설정 변경




8. C/C++ General의 Paths and Symbol로 이동하여 Include탭에서 GNU C++를 선택하고  다음 여섯개의 디렉토리를 추가하여 준다.
 

${NDKROOT}/platforms/android-9/arch-arm/usr/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include
${ProjDirPath}/../../sdk/native/jni/include

${NDKROOT}/sources/android/native_app_glue 

${NDKROOT}\toolchains\arm-linux-androideabi-4.7\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.7\include

 


${ProjDirPath}/../../sdk/native/jni/include 이 경로는 opencv의 sdk/native/jni/include 이다.


이제 모든 설정이 끝난다 +_+ 
이제 개발만이 남았다!! 모두 화이팅 하시길







댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday