openCV是否只能打开avi格式视频


如果只是做研究,用AviSynth + K-Lite Code Pack来解决这个问题吧。

K-Lite Code Pack里面包括ffdshow,是一套video codec的组合,它提供
Video For Windows 的接口,OpenCV的这个函数就是用这个接口;

然后用AviSynth这个virtual frame server来包装这个mpeg文件,创建一
个简单的script,比如mobile.avs,里面只有一行:
MpegSource("mobile.mpg")
当然这取决于你的mpeg的文件的压缩方式,也许需要额外的AviSynth的plugin.
装好K-lite Codec和AviSynth之后,你可以先用播放器直接放这个mobile.avs
文件看是否行得通。

视频实际上的读取过程是:
原始视频 -> ffdshow -> AviSynth -> OpenCV -> IplImage

K-lite Codec Pack主页:http://www.codecguide.com/download_kl.htm
AviSynth主页:http://www.avisynth.org/
相关讨论区:http://www.doom9.org/

另外一条路是基于DirectShow filter/sample grabber的办法来读取video frames,
可以看看: http://windowssdk.msdn.microsoft.com/en-us/library/ms787867.aspx
这种方法需要下载DirectX SDK和DirectShow的addon,同时也需要相关codec,
视频的读取过程是:
原始视频 -> codec -> DirectShow(frame grabber) -> Windows Bitmap -> IplImage

如果是只做研究用,推荐第一条;如果是商业用途,得要看license来决定了。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值