此程序捕获视频,直到我按 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);
}
}