在OpenCV中加载捕获

时间:2012-01-01 15:56:43

标签: opencv

我们可以在OpenCV中使用哪些视频格式?可以使用AVI和相机负载之外的任何东西吗? 如果这些是唯一受支持的格式,则需要使用其他视频格式的视频转换器。

2 个答案:

答案 0 :(得分:1)

我不确定它是最新的,但是this OpenCV wiki page很好地概述了支持的编解码器。如果看起来像AVI是唯一具有良好跨平台支持的格式。您可以选择使用外部转换器(如您的建议)进行转换,也可以编写使用视频库加载图像并为数据创建相应cv::MatIplImage *标头的代码。 / p>

除非您正在处理大量视频,否则我建议采取阻力最小的路径并将视频转换为AVI(有关OpenCV支持的详细信息,请参阅上面的链接)。请小心避免有损压缩:它会破坏大量的图像处理算法。

答案 1 :(得分:0)

OpenCV“将”视频编码和解码转移到其他库(例如,ffmpeg和VFW)。另外,请查看highguidirectory以查看所有可用的VideoCapture包装器(特别注意cap_*实现)。 AVI只是一个容器,对OpenCV可以读取的视频编解码器来说真的不是那么重要。 AVI可以包含视频,音频甚至字幕流的几种不同组合。请参阅我的其他answerHere也是一篇快速文章,解释了容器和编解码器之间的差异。

因此,如果您使用Linux,请确保ffmpeg支持解码您感兴趣的视频编解码器。您可以使用以下命令检查您的ffmpeg版本支持的编解码器:

ffmpeg -formats

在Windows上,您需要确保有足够的编解码器来解码各种类型的视频,例如K-Lite Codec Pack