2014-03-24 44 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字節...)

確保它們完全匹配。