由於捕獲緩衝區,透過網路攝影機擷取視訊可能會出現延遲,其中幀在讀取之前被儲存。當讀取幀的速率低於捕獲幀的速率時,就會出現此問題,從而導致緩衝區中的幀累積。
在OpenCV 中,您可以使用CV_CAP_PROP_BUFFERSIZE 設定VideoCapture 物件的緩衝區大小:
<code class="cpp">cv::VideoCapture cap; cap.set(CV_CAP_PROP_BUFFERSIZE, 3); // Store only 3 frames in the buffer</code>
如果OpenCV 解決方案沒有不起作用,您可以使用以下技巧:
另一種破解方法涉及使用第三個執行緒高速連續抓取影格以保持緩衝區為空:
以上是為什麼我的 OpenCV VideoCapture 滯後,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!