티스토리 뷰

Android NDK와 Opencv 카메라 테스트를 위해서 제가 계속 시도해본 결과 정리한 내용을 바탕으로 블로그에 글을 작성한 것 입니다.


저의 개발 환경은 다음과 같습니다.

  • Windows10 Professional K
  • Opencv 3.3.0 (Android-Opencv-SDK)
  • Android Studio 3.0.0
  • LG G4 (Android Ver : 5.1.1)




Step.1 Android Project 생성




NDK를 사용하시는 분들 중 "왜 Include C++ support를 체크 안하는가?"라고 생각이 드시는 분들이 계실것입니다. 체크를 안한 이유는 제 경험상 CMake를 사용할때는 해당 부분을 체크해야하는데 그게 아니라 Ndk-build(Android.mk와 Application.mk를 사용하는 경우)는 체크를 안하는거 같더라고요 ㅎㅎ 

(참고로 위 내용은 제 경험에서 나온것이지 정확한 내용은 아닙니다.)






그리고 저는 API22(핸드폰과 같은 버전)으로 해주었습니다. 다른 글을 볼때 appcompat-v7을 사용하려면 API14 이상을 설정하라해서 보통 API 14나 API 15를 설정하시는데 그냥 저는 API22로 설정을 해주고 하겠습니다.














Step.2 Opencv 3.3.0 라이브러리 추가





File -> New -> Import Module를 클릭합니다.





그 후 Opencv-android-sdk -> sdk -> java를 클릭하고 ok 누릅니다.






Step.3 Opencv와 App 버전 맞추기



Opencv Module를 improt 시켜주면 아래와 같이 openCVLibrary330 폴더가 생겨집니다. 이제 App과 Opencv의 버전을 맞춰주어야 합니다.




위에 체크된 build.gradle 파일들을 클릭해줍니다.




   

 

 




잘 안보이시겠지만 Opencv gradle를 아래처럼 App gradle 버전과 동일하게 맞춰줍니다.








버전을 동일하게 맞춰주셨으면 Sync Now를 클릭해주시면 됩니다.






Step.4 Opencv 모듈 설정.
















이렇게 해주면 완료~







Step.5 본격적인 코드 작성





MainActivity.JAVA 파일로 가서 위와 같이 작성을 해줍니다.




위 내용은 activity_main.xml 입니다.






다시 MainActivity.JAVA로 가서 위와 같이 작성을 해줍니다. xml 레이아웃에서 카메라 레이아웃 아이디를 받아와서 설정을 해주는 부분입니다.






그리고 아래쪽에다가 위와 같이 세가지를 오버라이드 시켜줍니다.





MainActivity.java에서 위쪽 부분에다가 위에 빨간색 선으로 밑줄 쳐진것처럼 입력을 해줍니다. 그럼 아래와 같이 뜨게 됩니다.










위쪽에다가 Mat mRgba 변수를 선언해주고.





위와 같이 적습니다.




그리고 AndroidManifest.xml 파일로 가서 위와 같이 카메라 퍼미션 설정을 해줍니다. 위와 같이 설정을 해주어야 카메라를 사용할 수 있습니다.


그리고 한번 컴파일을 해줍니다. 그러면 아래와 같이 카메라가 동작되는 것을 보실 수 있습니다.





여기까지는 c++ 코드를 사용하지 않고 JAVA 와 Opencv를 이용해서 카메라 동작시키는 것을 해보았습니다. 다음 시간에는 여기서 했던 코드를 사용해서 NDk-build를 사용해서 Opencv를 이용해보도록 하겠습니다.


Comments