OpenCV

[OpenCV] Kotlin에서 OpenCV사용하기- 설정(feat. Android Studio)

디벨로펄 2023. 1. 10.
반응형

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

 

Setting up latest OpenCV for Android Studio and Kotlin — 2021 edition

OpenCV is an amazing library used by millions of developers around the world. Sadly the documentation is outdated and sometimes misleading…

philipplies.medium.com

 

1. OpenCV-sdk 다운로드

https://sourceforge.net/projects/opencvlibrary/files/4.6.0/ 

 

2. Import OpenCV 

build.gradle이 포함된 sdk 디렉토리를 import한다. File>New>Import Modules

1) Rename SDK → opencv

2) 모듈을 build.gradle에 추가

    // OpenCV 4.5.1
    implementation project(":opencv")

3. OpenCV 기능 추가.

OpenCVLoader.initDebug()

- Bitmap이미지를 받아서 grayScale로 바꿔주는 function.

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
}

 

** OpenCV가 libstc_c에 의존하고 있는 라이브러리가 있는 경우 compilation에러가 발생하는 경우가 있다고 한다. 에러 발생하는 것을 막기 위해서, gradle에 first library를  선택하라고 말해줘야한다. build.gradle에 아래 코드 추가.

android {
    packagingOptions {
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/x86_64/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
    }
}
반응형

댓글