OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다. http://billmccord.github.com/OpenCV-Android/ Android-NDK 를 다운 받습니다. http://developer.android.com/sdk/ndk/index.html Android-NDK 폴더를 path 환경 변수에 지정합니다. Cygwin을 다운 받고 Devil 안에 있는 gcc-core, gcc-c++, make 를 추가로 선택하고 설치합니다.
OpenCV 안드로이드 연동 activity 클래스에 자신이 사용할 so파일 로딩(opencv), native 메소드 선언 합니다. 자신의 안드로이드 프로젝트에 jni라는 폴더를 만듭니다. Android-OpenCV에서 tests 폴더와 Application.mk파일을 제외하고 jni폴더에 넣습니다. 여기서 cygwin에서 ndk-build로 해당 폴더로 이동하여 빌드하면 openCV 연동이됩니다. 하지만 이번 프로젝트에서는 C언어에서 openCV를 이용하고 해당 메소드를 Java에서 호출하므로 여기서 바로 빌드하지 않습니다. 다른 것을 바꿀 것 없이 자신이 선언한 activity 클래스를 javah로 헤더를 만듭니다. 해당 헤더파일에서 실제 메소드 호출부만을 cvjni.h의 함수호출부를 모두 지우고 이곳에 넣습니다.
OpenCV 안드로이드 연동(계속) cvjni.cpp의 내용은 헤더파일에 선언해둔 함수만 두고 지웁니다. 해당 함수를 구현합니다. cvjni라는 파일 명을 바꾸려면 Android.mk를 수정하면 됩니다. 이번 프로젝트에서는 com_samsung_dmc_mobilehandshapedetector_MobileMukJJiBBa라는 이름을 이용합니다. 이제 cygwin에서 해당 폴더로 이동하여 ndk-build로 빌드하면 됩니다.