在预定义的时间段内捕获视频时出错

时间:2015-05-03 07:43:39

标签: opencv visual-c++

此程序捕获视频,直到我按 Esc 。但是我需要修改这个程序并捕获视频30秒。

录制视频后播放速度非常快,视频长度也会缩短。我尝试在最后添加waitKey,但它仍然无法正常工作。录制后视频长度应该相同。我怎样才能做到这一点?有什么建议吗?

int main( int argc, const char** argv )
{
    using namespace std;
    using namespace cv;
VideoCapture cap(0); 

    while(!(cap.isOpened() && cap.grab()))  
    {
cout << "Camera not ready" << endl;
    }
VideoWriter Writer("D:/MyVideo.avi", CV_FOURCC('P','I','M','1'),20,Size(640,480), true); 


    while (waitKey(30)!= 27)
            {
                Mat frame;
                cap >> frame; 
                Writer.write(frame); 
                imshow("D:/MyVideo", frame); 
            }

}

0 个答案:

没有答案