2. OpenCV 설치
페이지 정보
작성자 관리자 댓글 1건 조회 4,110회 작성일 20-03-14 11:30본문
2. OpenCV 설치
1. 안드로이드 스튜디오 설정
Configure -> SDK Manager
안드로이드 스튜디오에서 ndk-build를 사용하여 C/C++ 코드를 컴파일 및 디버그하기 위해서는 다음 2가지가 필요합니다.
• The Android Native Development Kit (NDK)
안드로이드에서 JAVA 코드와 C/C++ 코드를 같이 사용할 수 있게 해줍니다.
• LLDB
C/C++ 코드를 디버그하기 위해 사용되는 디버거입니다. 설치해주면 예전에 잡히지 않았던 에러나 예외상황이 검출되며 에러 발생한 C/C++ 코드 위치를 알려줍니다.
SDK Tools를 선택하고, 필요한 tool들을 설치한다.
OpenCV 세팅을 위한 필요 Tool은 CMake, LLDB, NDK 이다.
Next를 클릭한다.
OK를 클릭한다.
Accept를 선택하고, Next를 클릭한다.
잠시 기다리면 설치가 완료된다.
Finish를 클릭한다.
2. OpenCV 안드로이드 버전 설치
아래 사이트에서 opencv 최신 버전을 다운로드 한다.
https://github.com/opencv/opencv/releases
C:\Android 폴더 하위에 다운로드 한다.
파일 탐색기를 실행하고, 다운 받은 압축 파일을 C:\Android 플더 하위에 압축을 푼다.
3. 안드로이드 프로젝트 생성
새로운 프로젝트를 생성한다.
Start a new Android Studio Project 를 클릭한다.
Empty Activity 프로젝트를 생성해도 되지만 , 비교적 간단하게 opencv를 사용할 수 있도록
Native C++ 를 선택하고, Next를 클릭한다.
프로젝트 Configure화면입니다.
이름, 패지 이름, 저장위치, 최소 API, Language 을 선택한다.
오른쪽 CPP 폴더 내에 native-lib.cpp 파일이 있음을 확인할 수 있다.
4. OpenCV 라이브러리 import
안드로드 스튜디오 프젝트에서 OpenCV라이브러리를 사용하기 위해서 import가 필요하다.
File -> New -> Import Module
소스 경로는 opencv 경로를 넣어준다.
C:\Android\OpenCV-android-sdk\sdk 폴더를 선택한다.
Module name은 :opencv 를 넣어준다.
Finish를 클릭한다.
OpenCV 모듈 Dependencies를 설정한다.
File -> Project Structure -> Dependencies 를 선택한다.
Modules에서 app 선택 후 Dependencies에서 plus( + )를 클릭하여 Module Dependecy 를 추가한다.
opencv를 체크하고 OK를 클릭한다.
OK를 클릭한다.
ERROR: Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 21 declared in library [:opencv] D:\Android6\MyOpenCV\opencv\build\intermediates\library_manifest\debug\AndroidManifest.xml as the library might be using APIs not available in 15
Suggestion: use a compatible library with a minSdk of at most 15,
or increase this project's minSdk version to at least 21,
or use tools:overrideLibrary="org.opencv" to force usage (may lead to runtime failures)
오류가 뜬다면 프로젝트 최소 SDK 버전을 올려준다.
build.gradle를 선택하고, minSdkVersion 21로 수정하면, 상단에 Sync Now가 나타나면 클릭한다.
에러가 없어질 것이다.
5. 프로젝트 권한 설정
Permission 설정
AndroidManifest.xml에서 외부 파일 읽기를 허용한다.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
추가한다.
댓글목록
LLDB님의 댓글
LLDB 작성일LLDB가 보이지않아요.,..ㅠ