Anda telah menghadapi isu lag dengan VideoCapture OpenCV disebabkan pengumpulan bingkai dalam penampan penangkap. Sebagai penyelesaian, anda telah menggunakan membaca penimbal pada 30fps untuk mengosongkannya dengan cepat.
OpenCV menyediakan cara untuk menetapkan saiz penimbal secara manual :
<code class="cpp">cv::VideoCapture cap; cap.set(CV_CAP_PROP_BUFFERSIZE, 3); // store only 3 frames</code>
Walau bagaimanapun, penyelesaian ini hanya disokong oleh Bahagian belakang DC1394 v 2.x.
Pendekatan alternatif ialah mengukur masa yang diperlukan untuk mendapatkan bingkai:
Anda boleh mencipta benang ketiga yang terus merebut bingkai pada kelajuan tinggi menggunakan cv::VideoCapture.grab() untuk memastikan penimbal kosong. Segerakkan akses antara urutan ini dan urutan pekerja anda menggunakan kunci putaran.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Lag dalam OpenCV VideoCapture Disebabkan oleh Pengumpulan Penampan Tangkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!