안드로이드에서 OpenCV 라이브러리를 이용하는 방법에 대한 글입니다. OpenCV를 이용할 일이 있어서 라이브러리를 불러오는데, 예전에는 매우 복잡했던 것이 이제는 매우 간편히 가능해져서 간단히 정리합니다.
1. Android ADT 및 NDK 다운로드
Android ADT 다운로드 주소 http://developer.android.com/sdk/index.html Android NDK 다운로드 주소 http://developer.android.com/tools/sdk/ndk/index.html
ADT
안드로이드 디벨로퍼 사이트의 Develop – Tools 에 들어가서 각 파일을 다운로드 하시고 압축을 풀면 설치가 완료됩니다. 예전에는 이클립스에 플러그인을 설치하고 SDK 경로값을 설정에 등록하는 등 손닿는 일이 많았는데, 요즘은 그냥 다운로드 해서 압축만 풀면 SDK와 플러그인이 포함된 이클립스를 바로 이용할 수 있습니다. 물론 예전처럼 사용하는 이클립스에 플러그인 설치를 직접 할 수도 있습니다. 압축을 푼 폴더의 경로는 원하는 곳 아무데나 옮겨 놓아도 상관이 없습니다. 압축을 풀으셨다면 폴더로 들어가 이클립스를 실행시킵니다. 기본적으로 SDK에 최신 버전의 안드로이드가 설치가 되어있지만, 그 이하 버전은 설치가 안되어있습니다. 따라서 이전 버전이 필요한 경우 직접 다운로드 받아야 합니다. 이클립스 상단에 보면 이런 아이콘이 있는데 이 아이콘(이미지의 왼쪽 아이콘)을 클릭하시면 필요한 버전의 SDK를 다운 받을 수 있습니다. OpenCV 라이브러리 및 예제들의 타겟 API는 API11(Android 3.0) 으로 되어있으니 OpenCV를 이용하기 위해서는 SDK에 Android 3.0을 다운받아주세요.
NDK
OpenCV 의 라이브러리를 불러와서 이용하려면 NDK가 설치가 되어야 합니다. 위 링크에서 NDK를 다운 받은후 마찬가지로 압축을 풉니다. NDK 또한 아무 경로로 옮겨도 상관 없습니다. 저의 경우 관리하기 쉽도록 ADT 폴더 안에 함께 저장해 놓았습니다.
NDK를 이클립스와 연동하기 위해서 간단한 설정을 해주어야 합니다. 위와 같이 환경설정의 Android – NDK에 들어가서 NDK의 경로를 NDK 압축을 풀어 놓은 위치로 설정해 줍니다. 이 것만 해 놓으면 OpenCV를 사용하기 위한 NDK 설정은 끝.
2. OpenCV 라이브러리 다운로드
OpenCV 라이브러리 다운로드 주소 http://sourceforge.net/projects/opencvlibrary/files/
위의 경로에 들어가서 OpenCV 안드로이드의 최신 버전을 다운로드 받습니다. 그리고 나서 이클립스로 들어가 프로젝트 Import 메뉴를 선택하고 Existing Projects into Workspace 를 선택한 후 다운로드 받은 OpenCV 라이브러리 압축파일을 선택합니다.
위와 같이 여러개의 프로젝트가 나타나는데 이 중 맨 위의 OpenCV Library 가 안드로이드에서 OpenCV 를 이용하기 위한 라이브러리이고 나머지는 예제 입니다. OpenCV 라이브러리만 필요한 경우 이 것만 선택하면 되고 나머지는 필요하다면 선택하면 됩니다. OpenCV 라이브러리를 불러오고 난 뒤 프로젝트 설정에 들어가서 Android 메뉴에 is Library가 체크되어 있는지 확인합니다. 체크가 안되어 있다면 체크를 하고 적용을 해주세요. 예제를 불러오거나 OpenCV를 이용한 프로젝트를 만들 경우 마찬가지로 설정을 들어가서 Android 메뉴에 들어갑니다. OpenCV 예제들을 불러올 경우 OpenCV 라이브러리 경로가 다르게 지정되어있을 경우가 대부분이기 때문에 다시 설정을 해주어야 합니다. 위 이미지는 OpenCV 라이브러리를 프로젝트에 추가해 준 모습입니다. 예제의 경우 X 표가 된 라이브러리가 있을텐데 이 라이브러리를 지우고 새로 라이브러리를 추가시켜줍니다. 여기까지 안드로이드에서 OpenCV를 이용하는 방법을 정리하여 보았습니다. Mac OS 환경에서 설정했기 때문에 윈도우와 차이가 있을 수도 있지만 크게 어렵지는 않을 거라 생각됩니다.