2014-02-19 123 views
0

我正在用openCV阅读视频文件,我使用下面的简单代码来做到这一点。OpenCV2编解码器支持

std::string arg = argv[1]; 
    VideoCapture capture(arg); //try to open string, this will attempt to open it as a video file 
    if (!capture.isOpened()) { 
     cerr << "Failed to open video file!\n" << endl; 
     help(argv); 
     system("Pause"); 
     return 1; 
    } 

我可以加载和操作多个视频,但我有其他问题。我想这是编解码器问题。我可以使用旧式win媒体播放器播放视频,因此编解码器位于系统中,但我想在opencv中不可用?

有谁知道什么编解码器和视频格式肯定会在opencv上播放,什么是将视频转换为这些格式的好选择?

非常感谢

+0

你的意思是,哪种格式的视频可能与opencv一起玩? 如果是的话,尝试使用.avi格式,他们会工作。 – 4nonymou5

+0

嗨,谢谢你的答复我有.avi格式,那是什么不会加载,所以我想它是一个编解码器问题 – kev3kev3

回答

1

事实上,OpenCV中的支持编解码器取决于你的平台和avaible编解码器上。

本教程Creating a video with OpenCV清楚地说明了OpenCV的视频编解码器。虽然它是用来写视频的,但我认为阅读视频的基本原则是一样的。

功能C++: double VideoCapture::get(int propId)可以通过设置propId = CV_CAP_PROP_FOURCC来检索您加载的视频的编解码器属性。 FOURCC的解释可以在site找到。如果您在阅读.avi视频时遇到问题,代码很可能未安装在您的平台中。