C++ 从视频文件录制复制帧

C++ 从视频文件录制复制帧,c++,opencv,C++,Opencv,我从网络摄像头开始录制会话,然后我想制作另一个文件,其中已录制了200帧,然后是网络摄像头中的其他实时帧 我这样做是为了从正在录制的“Blob.avi”文件中获取帧: VideoWriter writeVideo; VideoCapture savedVideo; savedVideo.open("E:\\Blob.avi"); int startFrame = savedVideo.get(CV_CAP_PROP_FRAME_

我从网络摄像头开始录制会话,然后我想制作另一个文件,其中已录制了200帧,然后是网络摄像头中的其他实时帧

我这样做是为了从正在录制的“Blob.avi”文件中获取帧:

        VideoWriter writeVideo;

        VideoCapture savedVideo;
        savedVideo.open("E:\\Blob.avi");

        int startFrame = savedVideo.get(CV_CAP_PROP_FRAME_COUNT);
        cout << " startFrame:"<< startFrame;
        startFrame -= 200; 
        savedVideo.set(CV_CAP_PROP_POS_FRAMES,startFrame);
        cout <<"-"<< startFrame << " ms: " << savedVideo.get(CV_CAP_PROP_POS_MSEC) << endl;

        sprintf_s(filename,150, "E:\\FramesTest.avi");
        writeVideo.open(filename,xvid, 10, Size(640,480));
        Mat tempPic;
        for( int i = 0; i < 200; i++ ){
            savedVideo >> tempPic;
            writeVideo.write(tempPic);
        }
       //then add realtime frames.
VideoWriter writeVideo;
视频捕获保存视频;
savedVideo.open(“E:\\Blob.avi”);
int startFrame=savedVideo.get(CV\u CAP\u PROP\u FRAME\u COUNT);

您使用的OpenCV版本是什么?底线是,您试图将帧附加到现有文件中,对吗?我使用2.4.3,是的,我从正在录制的文件中读取帧,然后将其附加到新创建的文件中。
        for( int i = 0; i < 200; i++ ){
            savedVideo >> tempPic;
            writeVideo.write(tempPic);
            Sleep(30)
        }