Rumah > Java > Buka kaedah bacaan CV VideoCapture

Buka kaedah bacaan CV VideoCapture

王林
Lepaskan: 2024-02-10 18:06:08
ke hadapan
690 orang telah melayarinya

PHP Editor Banana hari ini memperkenalkan kaedah untuk membuka CV VideoCapture untuk dibaca. Dalam bidang penglihatan komputer, VideoCapture ialah kelas yang biasa digunakan untuk membaca bingkai imej daripada fail video atau kamera. Dengan menggunakan kelas VideoCapture, kami boleh mendapatkan aliran video dengan mudah dan melakukan pemprosesan dan analisis imej seterusnya. Dalam artikel ini, kami akan memperincikan cara menggunakan kelas VideoCapture untuk membuka dan membaca fail video atau bingkai imej kamera. Sama ada anda seorang pemula atau pembangun berpengalaman, anda boleh membaca artikel ini untuk mengetahui cara menggunakan kelas VideoCapture untuk memproses data video. Mari lihat!

Kandungan soalan

Saya menggunakan aplikasi yang dipanggil studio android untuk menulis semua kod saya. Saya menulis kod berikut:

mat fieldimage = new mat();
videocapture.read(fieldimage);
Salin selepas log masuk

Tetapi kaedah baca objek tangkapan video mengembalikan nilai Boolean. Jadi (jika saya betul), kod ini sepatutnya menimbulkan ralat. Walau bagaimanapun, studio android tidak menimbulkan ralat. Adakah kod ini menimbulkan ralat? Jika ya, bolehkah kod ini menggantikannya?

Mat fieldImage = new Mat();
boolean finishedCapturing =  videoCapture.read(fieldImage);
while(!finishedCapturing) {
finishedCapturing =  videoCapture.read(fieldImage);
}
Salin selepas log masuk

Penyelesaian

Pertama sekali, jika mana-mana kaedah mempunyai nilai pulangan, anda tidak perlu mendapatkan nilai itu. Mana-mana IDE biasanya tidak akan memberikan ralat jika anda tidak mendapat nilai pulangan. Tetapi jika kaedah memberi anda nilai pulangan, anda harus menerimanya dan mengendalikannya seperti yang diharapkan oleh kaedah tersebut.

Untuk kes anda, javadoc videocapture menyatakan bahawa nilai pulangan menunjukkan sama ada bingkai itu boleh ditangkap.

Jadi dalam kes anda, anda boleh melakukan sesuatu seperti ini

Mat fieldImage = new Mat();
boolean hasReadFrame = true;
// Have a do-while loop to only have once the read call
do {
    // Check if a frame has read
    hasReadFrame =  videoCapture.read(fieldImage);
    // after reading, you could do some more logic with the fieldImage
} while (hasReadFrame);
Salin selepas log masuk

Sudah tentu, anda perlu menambah pengendalian ralat/pengecualian jika perlu.

Atas ialah kandungan terperinci Buka kaedah bacaan CV VideoCapture. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan