繁体   English   中英

视频捕获:框架始终为空-opencv

[英]Video Capture : Frame always empty - opencv

我正在使用openCV 2.4.9版,并且在Mac OSX上使用。 我已经编写了用于在桌面上加载和显示视频的代码。 但是它似乎永远都行不通。 我总是将输出显示为“框架为空”。 因此,它不会抱怨使用VideoCapture读取视频。它无法捕获任何帧,因此“帧”始终为空。 知道可能是什么问题吗? 注意:我尝试了两种方法来捕获帧-注释为try 1和try2。

int main(int argc, const char * argv[])
{
    Mat frame;
    VideoCapture capture_ir("/Users/shreyatandon/Desktop/resize_ir.avi");


    if ( !capture_ir.isOpened() )  // if not success, exit program
    {
        cout << "Cannot open the video file" << endl;
        return -1;
    }

    for (;;){
       // capture_ir.read(frame); //try1
          capture_ir>>frame;       //try2
        if(frame.empty()){
            std::cerr<<"frame is empty"<<std::endl;
            break;
        }
        imshow("", frame);

        waitKey(10);

            break;
    }

    return 0;
}

刚刚使它工作。

Mat current_frame;
VideoCapture video("video.avi");
while(true)
{
    video.read(current_frame);
    imshow("Image",current_frame);
}

如果您在使用avi格式时仍然遇到问题,请查看ffmpeg库及其依赖项的链接。 我尝试使用自制软件从头开始安装它,并且没有问题。 干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM