Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测OpenCV中的帧下降_Opencv - Fatal编程技术网

检测OpenCV中的帧下降

检测OpenCV中的帧下降,opencv,Opencv,如何在OpenCV中检测丢失的帧?现在我正在做如下检查: int main() { VideoCapture cap(-1); if (!cap.isOpened()) { cout << "Webcam is not open." << endl; return -1; } Mat frame; while (true) { cap.read(frame);

如何在OpenCV中检测丢失的帧?现在我正在做如下检查:

int main() {
     VideoCapture cap(-1); 
     if (!cap.isOpened()) {
         cout << "Webcam is not open." << endl;
         return -1;
     }

     Mat frame;

     while (true) {
         cap.read(frame);

         if (!frame.empty()) {
             imshow("frame", frame);
         }
         else {
             cout << "No captured frame" << endl;
             break;
         }
     }
}
intmain(){
视频捕获上限(-1);
如果(!cap.isOpened()){

cout您可以使用此opencv函数cap.get(CV_cap_PROP_POS_MSEC)来获取视频帧的显示时间戳。此函数返回时间间隔倍数的整数。如果任何帧丢失,时间戳将跳过(N+2)*时间间隔而不是(N+1)*时间间隔,其中N是您当前的帧号。

可能该消息来自驱动程序或某个底层库?可能您的处理速度比相机的fps慢?这可能会导致丢失帧(请求的帧太旧),而相机只发送较新的帧。