C++ 从视频文件录制复制帧
我从网络摄像头开始录制会话,然后我想制作另一个文件,其中已录制了200帧,然后是网络摄像头中的其他实时帧 我这样做是为了从正在录制的“Blob.avi”文件中获取帧: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_
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)
}