티스토리 뷰

[15.6.22 ~ 15.7.31간 인턴쉽 기간동안 실습내용을 정리해볼까 합니다.]


 


기본적으로 안드로이드를 이용한 영상처리를 하기 위해선 오픈소스 

OpenCV를 이용하여 컴퓨터 비전 프로그래밍 개발환경 구축이 필요하다.


 



위키백과에서 찾아볼 수 있듯이 OpenCV는 C 기반의 라이브러리이며, 

안드로이드의 경우 리눅스 기반의 달빅 가상머신 위에서 "Java"로 만들어진 프로그램으로 돌아가기 때문에 

직접적으로는 이 둘을 연동하게 개발환경을 구축하는 것은 쉽지 않다.

 


 

 

 


그렇기 때문에 쉽게는 JavaCV라는 java전용 OpenCV를 사용할수 있지만 

원래의 OpenCV가 가지고 있는 함수와 하위 레벨에서의 연산을 통한 동작속도 향상을 위해서

 JavaCV가 아닌 C기반의 OpenCV를 이용한 환경 구축이 필요하다.


그렇기 때문에 Java에서 C 라이브러리 사용을 위해서 JNI을 이용하면


 


OpenCV Manager라는 앱을 이용하여 안드로이드 위에서 C기반의 OpenCV를 사용할수 있다.


이클립스를 이용한 개발한경 구축 방법은 구글링을 하면 쉽게 찾아볼수 있다.




처음 JNI가 어떤것인지 몰라서 JNI에 관련된것을 모두 설치했었지만 
개발환경을 구조를 파악해보니Android를 위한 JNI가 바로 NDK였다.

모든 환경 구축이 어느정도 되면


다음과 같이 맨위에 라이브러리를 포함하여 총 9개의 샘플을 확인 할수 있다.


뿐만아니라 찾아보면 이미 OpenCV 제공하고 있는 다양한 언어의 수많은 샘플들을 찾아볼수 있다.



 

[Android 5.1.1 Nexus 5에서 직접 동생을 face-dectection sample 캡처]


댓글
공지사항
최근에 올라온 글