Integrasikan OpenCV 4 ke Android melalui Gradle

OpenCV adalah perpustakaan sumber terbuka yang dapat digunakan untuk pemrosesan gambar, visi komputer, pembelajaran engine, dll. OpenCV 4 dapat dengan mudah diintegrasikan ke Android melalui Gradle menggunakan com.quickbirdstudios:opencvdependensi. Itu tidak memerlukan perangkat Android NDK.

Tutorial ini memberikan langkah demi langkah cara mengatur OpenCV 4 di proyek Android.

  1. Buka Android Studio dan mulai proyek baru.
  2. Pilih aktivitas kosong.
  3. Berikan nama aplikasi, nama paket dan lokasi di mana proyek harus disimpan. Pilih bahasa Java atau Kotlin.
  4. Buka file modul build.gradledan tambahkan ketergantungan OpenCV 4 di bagian dependencies.

app/build.gradle

dependencies {

    // Other dependencies

    // ...

    implementation 'com.quickbirdstudios:opencv:4.3.0'

}
  1. Buka file XML tata letak dan tambahkan ImageView.

app/src/main/res/layout/activity_main.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<RelativeLayout

xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

tools:context=”.MainActivity”>

 

<ImageView

android:id=”@+id/myImageView”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content” />

 

</RelativeLayout>

  1. Copy gambar uji ke app/src/main/res/drawabledirektori.
  2. Di MainActivitykelas inisialisasi OpenCV dengan OpenCVLoader.
  3. Gunakan metode Utils.loadResource()untuk memuat sumber daya. Kami menggunakan orange.pnggambar untuk pengujian. Itu disimpan dalam drawabledirektori.
  4. Android Bitmapmenggunakan saluran warna RGB. Secara default, OpenCV Matmenggunakan saluran warna BGR. Gunakan metode Imgproc.cvtColoruntuk mengonversi saluran warna.
  5. Inisialisasi bitmap dengan lebar dan tinggi yang ditentukan menggunakan metode Bitmap.createBitmap(). Konfigurasi ARGB_8888mendefinisikan bahwa setiap saluran (RGB dan alfa) disimpan dengan presisi 8 bit.
  6. Gunakan metode Utils.matToBitmap()untuk mengonversi OpenCV Matke Android Bitmap.
  7. Untuk menampilkan gambar di ImageViewgunakan metode setImageBitmap().

app/src/main/java/com/example/app/MainActivity.kt

package com.example.app




import android.graphics.Bitmap

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.util.Log

import kotlinx.android.synthetic.main.activity_main.*

import org.opencv.android.OpenCVLoader

import org.opencv.android.Utils

import org.opencv.imgproc.Imgproc




class MainActivity : AppCompatActivity()

{

    companion object {

        init {

            if (OpenCVLoader.initDebug()) {

                Log.d("MY_APP", "OpenCV loaded")

            }

        }

    }




    override fun onCreate(savedInstanceState: Bundle?)

    {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)



        val mat = Utils.loadResource(this, R.drawable.orange)

        Imgproc.cvtColor(mat, mat, Imgproc.COLOR_BGR2RGB)




        val bitmap = Bitmap.createBitmap(mat.cols(), mat.rows(), Bitmap.Config.ARGB_8888)

        Utils.matToBitmap(mat, bitmap)




        myImageView.setImageBitmap(bitmap)

    }

}

 

Related Posts