안드로이드에 openCV 올리기, 웹캠으로 에뮬레이터에 영상띄우기

===========================================================================================================


먼저 준비해야 될게 있습니다.
1. Android SDK - http://developer.android.com/sdk/download.html?v=android-sdk_r04-windows.zip
2. Android NDK - http://dl.google.com/android/ndk/android-ndk-1.6_r1-windows.zip
3. Android용 OpenCV - http://billmccord.github.com/OpenCV-Android/
4. Cygwin - http://www.cygwin.com/setup.exe
5. 개발용 Tool인 Eclipse - http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-jee-galileo-SR1-win32.zip

일단 Android SDK가 설치되었다는 가정하에 Cygwin부터 하겠습니다.(저거까지 설명하면 넘 길어요..ㅇ_ㅇㅋ)

Cygwin은 window O/S에 Linux의 환경을 만들어주는 프로그램입니다.


1. 일단 Cygwin을 Download받은 후 Setup.exe파일을 실행합니다.

2. 아래의 화면이 나오죠?? 여기서 다음(N)을 누릅니다.(붉은색 사각형부분)


[그림 1]

3. Source를 download를 하는 방법입니다. 맨위의 Install from Internet을 선택하고 다음을 누릅니다.


[그림 2]

4. 다음은 Cygwin을 Install할 Directory를 설정하는 부분인데요. 전 Default로 그냥 설치하겠습니다.


[그림 3]

5. 파일을 다운로드하는 temp directory설정입니다. 전 Cygwin안에 따로 Derectory를 만들겠습니다.


[그림 4]

6. Internet Connect setting입니다. 역시 마찬가지로 맨위의 Direct Connection을 누른 뒤, 다음으로 넘어갑니다.


[그림 5]

7. Download site를 설정합니다. http://ftp.daum.net을 선택하고 다음으로 넘어갑니다.


[그림 5]

8. 잠시 기다리면 아래와 같은 화면이 보이는데요. 여기서 Devel을 확장시킨 후(+), gcc-core, gcc++, make를 각각 선택 후(그림 7~8의 붉은색 사각형), 다음으로 넘어갑니다.


[그림 6]


[그림 7]


[그림 8]

9. 이제 Download가 되는 과정을 보시는데요. 가만히 내비두면 알아서 다운받고 끝납니다.=ㅁ=ㅋ


[그림 9]


[그림 10]

10. 이제 설치가 끝났으면 받아놓았던 Android NDK 1.6 r1버전을 압축을 해제 한 후에, [그림 11]과 같이

Cygwin\Home\(UserName)\ 안에 복사를 합니다.


[그림 11]

11. 복사를 하셨나요?? 그 다음에는 Download받았던 OpenCV-Android를 Android NDK안에 복사를 하셔야 됩니다.

개인적으로는 구분이 가게끔 Android NDK안에 Source라는 Directory를 만든 후에 넣었습니다.


[그림 12]

12. 이제 실행해 볼까요?? 바탕화면에 있는 Cygwin 또는 시작->프로그램->Cygwin->Cygwin Bash Shell을 클릭하여 실행합니다.

11. 그럼 잠시 후, [그림 13]과 같은 화면이 나옵니다.


[그림 13]

12. dir을 한번 쳐볼까요?? 그럼 달랑 Android NDK 만 나올 것입니다..ㅎㅎ


[그림 14]

13. cd android-ndk-1.6_r1을 입력하여 android SDK directory로 이동합니다. 너무 길으니깐 cd a만 입력 후, Tab키 누르면 자동으로 입력이 될 것입니다..


[그림 15]

14. cd apps를 입력하여 이제 apps directory로 이동합니다.

15. 자 이제 Symbolic link를 구현합니다.
ln –s ~/android-ndk-1.6_r1/Source/OpenCV-Android opencv 라고 입력합니다. 그러면 [그림16]과 같이 apps directory안에 opencv라는 symbolic link가 만들어진 것을 확인할 수 있습니다. 이걸 한번 열어보겠습니다.


[그림16]

16. [그림 17]에서 오른쪽을 보시면 <symlink>가 보이시죠?? symbolic link라는 겁니다..ㅡㅡㅋ 신기..ㄷㄷ;;

그 다음에 나열 되는것이 link주소라고 생각하시면 됩니다. 앞에서 ~/android-ndk-1.6_r1/Source/OpenCV-Android opencv를 입력하였는데요. 여기서 ~/는 cygwin의 root directory라고 생각하시면 됩니다. 그 다음의 주소는 아까 OpenCV-Android를 복사하셨던 주소입니다. 마지막으로 opencv는 뭐 이제 아시겠지만 symbolic link name입니다. ㅎㅎ;;이제 저랑 다르게 하신분들은 symbolic link를 어떻게 잡아야 되는지 아시겠죠?


[그림 17]

17. 자 다시 cd ~/android-ndk-1.6_r1이라고 입력하여 androidandroid NDK directory로 넘어간 후에

build/host-setup.sh라는 명령어를 입력합니다.


[그림 18]

18. 이제 make APP=opencv라고 입력하면 Building이 시작되고 잠시 후에 정상으로 종료가 됩니다.


[그림 19]


[그림 20]

19. Make가 끝났습니다. Android NDK directory로 이동하면 out이란 directory가 만들어지고 그안에 build된 opencv가 있으며 libopencv.so라는 library가 보입니다. 이걸 이용하는 거라고 생각됩니다.


[그림 21]

음..제가 한 부분은 여기까지입니다. 완벽한지 아닌지는 사실 알 수는 없습니다. 잘못된 부분이 있으면 댓글 남기시면 감사히 수정하겠습니다. 저도 공부하는 사람의 입장이잖아요..^^;

그럼 다들 수고하세요~~~

하다가 생기는 에러는 이걸로 도움이 되길 !!

다운되는 ftp사이트는 아무거나 해도 상관없는듯 싶다~

---------------------------------------------------------------------

Cygwin에서 make를 실행하면 ndk\apps 에 있는걸 찾아서 실행합니다.

만약 NDK를 D:\java\android-ndk-1.6_r1 요렇게 만들었다고 가정하면
D:\java\android-ndk-1.6_r1\apps 에 다운받은 billmccord-OpenCV-Android-cf799c7 를 풉니다. 디렉토리 이름이 너무 기니 billmccord-OpenCV-Android-cf799c7 를 OpenCV-Android 요렇게 바꾸죠.
D:\java\android-ndk-1.6_r1\apps\OpenCV-Android 가 되겠네요.

Cygwin 상태에서 D:\java\android-ndk-1.6_r1 요 위치까지 이동한후 make를 실행햐야는데
$cd /cygdrive/d/java/android-ndk-1.6_r1/ 라고 쳐서 이동합니다.
그리고 build/host-setup.sh 과 make APP=OpenCV-Android 를 실행합니다.

APP=OpenCV-Android의 'OpenCV-Android'는 압축파일을 풀었던 'billmccord-OpenCV-Android-cf799c7' 를 이름이 길어서 바꾼었던 부분이죠.
----------------------------------------------------------------------------

신고

+ Recent posts