从相机读取多个帧后,OpenCV突然总是无法读取帧。我该如何诊断?

时间:2012-10-24 13:01:52

标签: opencv

我运行的程序类似于此问题中的程序:https://stackoverflow.com/a/8719192/26070

#include <opencv/highgui.h>

#include <iostream>

/** @function main */
int main( int argc, char** argv )
{
    cv::VideoCapture vcap;
    cv::Mat image;

    const std::string videoStreamAddress = "rtsp://192.0.0.1:8081/live.sdp";

    //open the video stream and make sure it's opened
    if(!vcap.open(videoStreamAddress)) {
        std::cout << "Error opening video stream or file" << std::endl;
        return -1;
    }

    for(;;) {
        if(!vcap.read(image)) {
            std::cout << "No frame" << std::endl;
            cv::waitKey(500);
        } else {
            cv::imshow("Output Window", image);
        }
        if(cv::waitKey(1) >= 0) break;
    }
}

程序运行一段时间(约一分钟左右)然后调用read()(来自cv :: VideoCapture的方法)总是返回false

输出如下:

[mpeg4 @ 00da27a0] ac-tex damaged at 22 7
[mpeg4 @ 00da27a0] Error at MB: 309
No frame
No frame
No frame

注意:前两行并不总是存在。

那么,我如何确定问题的根源是什么?

0 个答案:

没有答案