如何在Mac上使用OpenCV VideoWriter



我有下面的代码,它将几个帧写入。avi视频文件。这在windows机器上工作得很好,但当我在Mac上尝试时,它会创建。avi文件并没有显示错误,但该文件无法播放。到目前为止,我还没有找到一个明确的解决办法。我现在用的是Mac OSX 10.9.2.

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);
}

frame的大小是多少?

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

您必须使用正确的编解码器和扩展组合。

编解码器依赖于平台。这可能就是问题所在。

尝试使用以下组合:

writer = cvCreateVideoWriter("test.mkv",CV_FOURCC(*'X264),1,Size(640,480),1);

这里是参考链接

相关内容

  • 没有找到相关文章

最新更新