IT/Android

[Android] Android으로 OpenCV 사용하기 - 1

버건디 팩토리 2021. 8. 3. 02:32
반응형

Android으로 OpenCV 사용하기

OpenCV를 Android mobile에서 사용해보자

왜 Kotlin인가?

사실 큰 이유는 없다.
Java를 자유롭게 다루지 못해서, Android를 Kotlin으로 배웠기 때문이다.
하지만 OpenCV의 code들은 대부분 Java로 되어 있어서, 처음 설정에서 고민하는 사람들에게 도움이 되기를 바란다.

native-c

또한 나는 추후 OpenCV를 native-C로도 사용하려고 한다!
물론 Kotlin 환경이니 잘 참고한다면 좋을 것 같다.

개발환경

Android : 3.4
NDK : 1.6
OpenCV : 3.4.5

Project 선택하기

Activity 선택

Android project를 생성할 때 미리 activity view를 선택할 수 있다.
아래 보이는 곳에서 자신이 원하는 항목을 미리 선택하자!
물론 보통 Empty Activity를 통해 직접 만든다.
나는 나중에 NDK도 활용할 예정이니 Native C++을 만들도록 하겠다.

Kotlin Language 설정!

물론 Language는 kotlin이다!
물론 Java로 시작해도 Gradle에 코드를 추가하여 Kotlin 또한 사용이 가능하게 설정할 수 있다.
이거는 나중에 적도록 하겠다.
참고로 아래 화면 다음 화면에서는 기본 설정인 Toolchain Default를 선택했다.

Gradle 설정

만약 나와 같이 native-c를 사용한다면 모든 프로젝트에서 아래 설정을 하자.
app - build.gradle의 ecternalNativeBuild에서 cmake의 version을 삭제하는 것이다.
이렇게 하면 내 NDK와 가장 호환성이 좋은 cmake version을 선택할 수 있다.

externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" //version "3.10.2" } }

OpenCV를 설치해보자

OpenCV sdk 설치

아래 링크에서 원하는 버전의 Android용 OpenCV를 다운로드한다.
물론 원하는 버전으로 다운로드한다. 나는 3.4를 받았다
OpenCV
그럼 아래의 파일을 얻을 수 있다.


그럼 모든 준비가 끝났다.
안드로이드 스튜디오로 돌아가 file - new - import module을 선택한다.
Source directory를 방금 다운받은 파일 내의 sdk를 선택한다
여기서 sdk가 아닌 opencv로 설정해서 거의 진행하는 것 같다.


이제 설정의 마지막이다.
file - project structure - dependencies - app을 선택한다.
App 위에 + 버튼을 눌러 module dependency를 선택한다.


여기서 opencv를 선택해서 추가해준다!
모든 준비가 끝났지만 무조건 에러가 하나 발생할 것이다.


이거는 opencv 내에 sdk 설정이 미리 되어 있어서 그렇다.
이를 해결하기 위해서는 remove minSdkVersion and sync project를 눌러서 없애주자!


더블 클릭하면 아래 화면이 나오는데 7번 줄을 그냥 삭제해준다.


이후 Gradle sync를 하면 빌드가 완료된다!

다음에는

여기는 정말 간단한 설정만 말했으므로 다음에는 기본 설정을 진행해보겠다.

반응형