Android에서 OpenCV 이용하기

안드로이드에서 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에 최신 버전의 안드로이드가 설치가 되어있지만, 그 이하 버전은 설치가 안되어있습니다. 따라서 이전 버전이 필요한 경우 직접 다운로드 받아야 합니다. 스크린샷 2013-07-01 오후 3.51.44 이클립스 상단에 보면 이런 아이콘이 있는데 이 아이콘(이미지의 왼쪽 아이콘)을 클릭하시면 필요한 버전의 SDK를 다운 받을 수 있습니다. OpenCV 라이브러리 및 예제들의 타겟 API는 API11(Android 3.0) 으로 되어있으니 OpenCV를 이용하기 위해서는 SDK에 Android 3.0을 다운받아주세요.

NDK

OpenCV 의 라이브러리를 불러와서 이용하려면 NDK가 설치가 되어야 합니다. 위 링크에서 NDK를 다운 받은후 마찬가지로 압축을 풉니다. NDK 또한 아무 경로로 옮겨도 상관 없습니다. 저의 경우 관리하기 쉽도록 ADT 폴더 안에 함께 저장해 놓았습니다.

스크린샷 2013-07-01 오후 3.58.57

NDK를 이클립스와 연동하기 위해서 간단한 설정을 해주어야 합니다. 위와 같이 환경설정의 Android – NDK에 들어가서 NDK의 경로를 NDK 압축을 풀어 놓은 위치로 설정해 줍니다. 이 것만 해 놓으면 OpenCV를 사용하기 위한 NDK 설정은 끝.

2. OpenCV 라이브러리 다운로드

OpenCV 라이브러리 다운로드 주소 http://sourceforge.net/projects/opencvlibrary/files/

위의 경로에 들어가서 OpenCV 안드로이드의 최신 버전을 다운로드 받습니다. 그리고 나서 이클립스로 들어가 프로젝트 Import 메뉴를 선택하고 Existing Projects into Workspace 를 선택한 후 다운로드 받은 OpenCV 라이브러리 압축파일을 선택합니다.

스크린샷 2013-07-01 오후 4.06.38

위와 같이 여러개의 프로젝트가 나타나는데 이 중 맨 위의 OpenCV Library 가 안드로이드에서 OpenCV 를 이용하기 위한 라이브러리이고 나머지는 예제 입니다. OpenCV 라이브러리만 필요한 경우 이 것만 선택하면 되고 나머지는 필요하다면 선택하면 됩니다. OpenCV 라이브러리를 불러오고 난 뒤 프로젝트 설정에 들어가서 Android 메뉴에 is Library가 체크되어 있는지 확인합니다. 체크가 안되어 있다면 체크를 하고 적용을 해주세요. 스크린샷 2013-07-01 오후 4.11.18 예제를 불러오거나 OpenCV를 이용한 프로젝트를 만들 경우 마찬가지로 설정을 들어가서 Android 메뉴에 들어갑니다. OpenCV 예제들을 불러올 경우 OpenCV 라이브러리 경로가 다르게 지정되어있을 경우가 대부분이기 때문에 다시 설정을 해주어야 합니다. 위 이미지는 OpenCV 라이브러리를 프로젝트에 추가해 준 모습입니다. 예제의 경우 X 표가 된 라이브러리가 있을텐데 이 라이브러리를 지우고 새로 라이브러리를 추가시켜줍니다. 여기까지 안드로이드에서 OpenCV를 이용하는 방법을 정리하여 보았습니다. Mac OS 환경에서 설정했기 때문에 윈도우와 차이가 있을 수도 있지만 크게 어렵지는 않을 거라 생각됩니다.

댓글 남기기