Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Menganalisis gambar

Kasus penggunaan analisis gambar memberi aplikasi Anda gambar yang dapat diakses CPU sebagai tempat untuk menjalankan pemrosesan gambar, computer vision, atau inferensi machine learning. Aplikasi ini mengimplementasikan metode Analyzer yang dijalankan pada setiap frame.

Implementasi

Gambar diproses dengan meneruskan metode yang mengambil parameter ImageProxy dan parameter rotasi ke metode setAnalyzer().

Contoh kode berikut menunjukkan cara melakukannya, serta cara menggabungkan kasus penggunaan analisis gambar dan pratinjau ke LifecycleOwner. Untuk membaca tentang membuat kasus penggunaan pratinjau, lihat Menerapkan pratinjau.

Setelah kembali dari metode ini, referensi gambar ditutup. Oleh karena itu, metode itu harus menyelesaikan analisis atau membuat salinan, bukannya meneruskan referensi gambar di luar metode analisis.

Kotlin

    val imageAnalysisConfig = ImageAnalysisConfig.Builder()
        .setTargetResolution(Size(1280, 720))
        .build()
    val imageAnalysis = ImageAnalysis(imageAnalysisConfig)

    imageAnalysis.setAnalyzer({ image: ImageProxy, rotationDegrees: Int ->
        // insert your code here.
    })

    CameraX.bindToLifecycle(this as LifecycleOwner, imageAnalysis, preview)
    

Java

    ImageAnalysisConfig config =
        new ImageAnalysisConfig.Builder()
            .setTargetResolution(new Size(1280, 720))
            .build();

    ImageAnalysis imageAnalysis = new ImageAnalysis(config);

    imageAnalysis.setAnalyzer(
        new ImageAnalysis.Analyzer() {
            @Override
            public void analyze(ImageProxy image, int rotationDegrees) {
                // insert your code here.
            }
    });

    CameraX.bindToLifecycle((LifecycleOwner) this, imageAnalysis, preview);
    

CameraX menghasilkan gambar dalam format YUV_422_888.

Referensi lainnya

Untuk mempelajari CameraX lebih lanjut, lihat referensi tambahan berikut.

Codelab

  • Memulai CameraX
  • Menambahkan Fragmen CameraView ke aplikasi Anda
  • Contoh kode

  • Contoh aplikasi CameraX resmi