2014-03-24 43 views
0

我有以下代码,它将几帧写入.avi视频文件。这在Windows机器上工作得很好,但是当我在Mac上尝试时,它会创建.avi文件并显示没有错误,但文件不会播放。到目前为止,我还没有找到明确的解决方案。 我目前使用Mac OSX 10.9.2。如何在Mac上使用OpenCV VideoWriter

void videoWriter() 
{ 
    CvVideoWriter *writer; 
    writer = cvCreateVideoWriter("test.avi",CV_FOURCC('I','Y','U','V'),1,Size(640,480),1); 

    for(int i = 0; i < 9; i++) 
    { 
     if(imMan.returnSelect(i)) { 
      cout << "Frame " << i << endl; 
      /****** Original Image *********/ 
      Mat frame = imMan.returnOrg(i); 
      IplImage fr = frame; 
      cvWriteFrame(writer,&fr); 
     } 
    } 

    cvReleaseVideoWriter(&writer); 
} 

回答

0

frame是什么大小?

根据我的经验,即使cvCreateVideoWriter的第4个参数与图像帧的尺寸不匹配,cvWriteFrame也不会产生错误。它写了一些像标题一样的东西。 (414字节...)

确保它们完全匹配。