Android/Android 더하기

Android Kotlin + OpenCV

728x90
반응형

1. 최신 OpenCV sdk 다운로드

다운로드 : opencv-4.5.1-android-sdk.zip

 

 

 

 

2 .OpenCV를 모듈로 추가

File > New > Import Module 메뉴 선택후

 

압축파일을 푼 경로에서 sdk 디렉토리를 선택한다.

 

OpenCV를 안드로이드 스튜디오 모듈 형태로 추가하는 것이기 때문에 OpenCV SDK 디렉토리를 선택하면 모듈이름이 ‘sdk’로 지정된다. 그냥 써도 상관없지만 필자는 ‘opencv‘로 변경했다.

 

 

 

 

3. OpenCV 모듈을 app모듈의 의존성으로 추가하기

app 모듈 레벨의 build.gradle에 의존성 추가

dependencies {
  // OpenCV 4.5.1
  implementation project(":opencv")
}

 

 

 

4. OpenCV Native 라이브러리 메모리에 로드하기

OpenCV를 사용하고자 클래스 또는 Application에서 다음과 같이 라이브러리를 로드 한다.

init {
    val isIntialized = OpenCVLoader.initDebug()
}

 

 

5.  사용하기 ~~

fun makeGray(bitmap: Bitmap) : Bitmap {

    // Create OpenCV mat object and copy content from bitmap
    val mat = Mat()
    Utils.bitmapToMat(bitmap, mat)

    // Convert to grayscale
    Imgproc.cvtColor(mat, mat, Imgproc.COLOR_RGB2GRAY)

    // Make a mutable bitmap to copy grayscale image
    val grayBitmap = bitmap.copy(bitmap.config, true)
    Utils.matToBitmap(mat, grayBitmap)

    return grayBitmap
}

 

 

 

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

참고

https://www.kotlindevelopment.com/face-detection-age-and-gender-prediction-on-android-with-kotlin/

https://javalibs.com/artifact/org.bytedeco.javacpp-presets/opencv

 

모듈을 추가하는 대신 아래를 app 모듈 레벨의 build.gradle에 의존성 추가만하면 된다고 한 자료도 있어 해봣지만

잘 안됬다.

    implementation "org.bytedeco:javacv:1.4.4"
    implementation "org.bytedeco.javacpp-presets:opencv:4.0.1-1.4.4"

 

참고

https://www.charlezz.com/?p=44758

https://philipplies.medium.com/setting-up-latest-opencv-for-android-studio-and-kotlin-2021-edition-259be404b133

 

 

728x90
반응형