Rumah  >  Artikel  >  Buka kaedah bacaan CV VideoCapture

Buka kaedah bacaan CV VideoCapture

王林
王林ke hadapan
2024-02-10 18:06:08609semak imbas

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);

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);
}

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);

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam