Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows OpenCV-捕获的视频运行速度比实时快?_Windows_Visual Studio 2008_Visual C++_Opencv - Fatal编程技术网

Windows OpenCV-捕获的视频运行速度比实时快?

Windows OpenCV-捕获的视频运行速度比实时快?,windows,visual-studio-2008,visual-c++,opencv,Windows,Visual Studio 2008,Visual C++,Opencv,我正在使用openCV从相机捕获视频并存储到和avi文件,问题是当我完成捕获并运行avi文件时,视频流看起来速度非常快 这是密码 int isColor = 1; int frameW = 640; int frameH = 480; int fps = 25; CvCapture* capture = cvCaptureFromCAM(0); assert( capture != NULL ); cvNamedWindow( "Webcam", CV_WINDOW_

我正在使用openCV从相机捕获视频并存储到和avi文件,问题是当我完成捕获并运行avi文件时,视频流看起来速度非常快

这是密码

int isColor = 1;
 int frameW  = 640;
 int frameH  = 480;
 int fps     = 25;

 CvCapture* capture = cvCaptureFromCAM(0);
 assert( capture != NULL );

 cvNamedWindow( "Webcam", CV_WINDOW_AUTOSIZE);

 CvVideoWriter *writer = cvCreateVideoWriter(
   "out.avi",
   CV_FOURCC('M','J','P','G'),
   fps,
   cvSize(frameW,frameH),
   isColor
  );

 IplImage* frame = cvQueryFrame( capture );

 while( (frame = cvQueryFrame( capture )) != NULL ) {
  cvWriteFrame(writer, frame);
  cvShowImage("Webcam", frame);
  char c = cvWaitKey( 33 );
  if ( c == 27 ) break;
 }

我不明白为什么在Windows 7 32位或64位以及Vs2008和OpenCV 2.3.1上使用cvGetCaptureProperty(CV_CAP_PROP_FPS)时,此函数始终返回0,这是错误的,请帮助我,谢谢

cvSetCaptureProperty和cvGetCaptureProperty并不总是工作。另外,您是否尝试过fps=30


还值得注意的是,您需要以与捕获fps相同的fps播放视频。

众所周知,除非事先调用了cvQueryFrame,否则cvGetCaptureProperty无法正常工作

不,它仍然失败,这是我的代码:cvQueryFrame(camera);double xxx=cvGetCaptureProperty(摄像头、CV\u CAP\u道具\u FPS);如何修复视频流看起来非常快,如果我尝试fps=30,它将运行得非常快,我只想让它像RealTime一样运行你尝试过fps=15和fps=60吗?这有什么区别吗?是的,我理解,我组合成功了,我使用Commanline:ffmpeg.exe-i 1.wav-i 1.avi-acodec copy-vcodec copy output.avi但它有一个问题是:组合后,当我播放视频时,音频和视频不同步,例如:视频播放前出现的声音,如何同步音频和视频录制??我认为这将是一个ffmpeg问题,您可以就此单独发布一个问题。我想我们已经回答了您的问题,如果没有,您能否更新您的问题以反映您的要求?