Cara menggunakan metode OpenCV di Pratinjau Kamera Android

Saya ingin melakukan beberapa pemrosesan gambar dengan menggunakan fungsi Imgproc OpenCV dari gambar yang diambil oleh pratinjau kamera.

Soalnya saya sudah menggunakan Camera.PreviewCallback untuk mengambil gambar dari preview kamera Android. Tapi saya melihat bahwa di OpenCV kita perlu menggunakan pratinjau berbeda yang disebut CvCameraViewListener2.

Jadi apakah saya harus mengulang semua barang saya dari pratinjau khusus ke OpenCV? Bisakah saya menggunakan fungsi OpenCV tanpa CvCameraViewListener2? Atau apakah CvCameraViewListener2 dan Camera.PreviewCallback berfungsi sama dan mudah untuk beralih dari satu ke yang lain?

Apa yang sudah saya gunakan:

public class MyClass implements Camera.PreviewCallback

Di OpenCV:

public class MyClass implements CvCameraViewListener2 {

person Brian    schedule 06.01.2016    source sumber
comment
SurfaceHolder.Callback mengimplementasikan 3 metode yang mengikuti siklus hidup SurfaceView-nya, metode ini tidak digunakan untuk menangkap bingkai pratinjau. CvCameraViewListener2 sampai batas tertentu mirip dengan antarmuka Camera.PreviewCallback.   -  person Alex Cohn    schedule 06.01.2016


Jawaban (1)


Setelah melakukan penelitian lebih lanjut, terima kasih kepada postingan ini: Tidak Dapat untuk menggunakan kedua kamera Evo 4G menggunakan OpenCV4Android Saya dapat mengatakan jawabannya adalah ya. Kita bisa menggunakan metode OpenCV tanpa harus menggunakan CvCameraViewListener2.

Saya baru saja menginisialisasi lib OpenCV tempat saya ingin menggunakan pemrosesan gambar saya (dijelaskan di sini langkah 10 : http://docs.opencv.org/2.4/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html). Lalu saya bisa menggunakan metode OpenCV.

Dan saya bisa mendapatkan matriks untuk digunakan dengan OpenCV misalnya dengan:

img = new Mat(height, width, CvType.CV_8UC1);
person Brian    schedule 06.01.2016
comment
Perhatikan bahwa img Anda hanya dalam skala abu-abu. Di sisi lain, CvCameraViewListener2 memungkinkan Anda menerima RGBA. Jika Anda membutuhkan warna, lihat stackoverflow.com/a/16704897/192373 - person Alex Cohn; 06.01.2016
comment
Oh oke ini bisa berguna, dalam kasus saya, saya hanya memerlukan skala abu-abu tetapi senang mengetahuinya. - person Brian; 06.01.2016