首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用mac os X的Fourcc

使用mac os X的Fourcc
EN

Stack Overflow用户
提问于 2014-04-25 06:41:51
回答 1查看 1.3K关注 0票数 0

我需要从一系列图像中编写一个视频。我使用的是以下代码:

代码语言:javascript
运行
复制
int main()
{
    //Read sequence of images
    Size frameSize(1360,1024);
    //cout<<path<<endl;
    VideoCapture sequence("path/fr%1d.jpg");
    if (!sequence.isOpened())
       {
           cerr << "Failed to open Image Sequence!\n" << endl;
           return -1;
       }
    //Write video
    VideoWriter oVideoWriter ("path/MyVideo.avi",CV_FOURCC('8','B','P','S'), 15
                              , frameSize);
    Mat imageGrey;
    if(!oVideoWriter.isOpened())
    {
      cout<<"ERROR: Failed to write the video"<<endl;
      return -1;
    }
    Mat Image;
    int i=0;
    while(true)
    {
    sequence>>Image;
    if(Image.empty())
        break;
    cout<<i<<endl;
    Mat imageArr[] = {Image, Image, Image};
    merge(imageArr, 3, imageGrey);
    //cvtColor(Image,imageGrey,CV_GRAY2BGR);
    oVideoWriter.write(imageGrey);
    i++;
    }
    cout<<"video written!"<<endl;
    return 1;
}

与Windows7相比,我得到的视频非常暗。我认为这是编解码器的问题。在mac os x上最好的编解码器是什么?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-25 09:28:12

正如您所说,如果您将其与Windows进行比较,可能是编解码器问题。没有最好的编解码器;一些编解码器在特定情况下更好,而在其他情况下更差。常用的编解码器可能是使用CV_FOURCC('X', 'V', 'I', 'D')的XVID,但不能保证您拥有它。

一种好的做法是在第一次运行时在cv::VideoWriter构造函数中传递-1而不是CV_FOURCC()宏。将弹出一个窗口,您可以看到您可以使用哪些类型的编解码器。当你对其中一个感到满意时,找到该代码的4CC代码,并将其硬编码到你的程序中。

此外,您可能想尝试使用Perian,以便在Mac中访问更多的编解码器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23281179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档