OpenCv中avi视频的读取问题,以及内部格式要求

在从Matlab转向OpenCV进行图像处理时,遇到OpenCV无法读取某些Matlab能读的AVI视频的问题。通过安装Xvid解码器和使用MediaCoder x64软件进行视频转码,解决了OpenCV的读取问题。关键在于视频的CodeId,转码为Xvid格式后,OpenCV能够成功读取。
摘要由CSDN通过智能技术生成

先写好了文章,网络不稳定,网站的自动保存竟然也没起作用…泪奔…

正题:

做图像处理经常会用Matlab来仿真,验证算法思路,进而用OpenCv来实现交付。

最初用Matlab做仿真,读取avi基本没有问题,有问题的100个视频也内格式工厂搞定。不过转到Opencv后就出现了问题:那些Matlab能读的,Opencv读不了。

这真是恼人。

后来参考了:http://blog.sina.com.cn/s/blog_5728fc490100qq6v.html这篇文章,下载了Xvid解码器,解决了一部分问题。说是一部分问题,是因为,这时候有些视频Opencv可以读了,Matlab回过头来却读不了了…

不过在当时那阶段,这个问题不大。待Opencv代码写好,便开始解决这个问题。

在解决过程中,MediaCoder x64这个软件起到了决定性作用。

先上图片:

00.avib不能读

figure1.Opencv读不了的视频信息(1)

00.avib不能读1

figure2.Opencv读不了的视频信息(2)

可以读

figure3.Opencv读的了的视频信息(1)

可以读2

figure4.Opencv读的了的视频信息(2)

可以读3

figure4.Opencv读的了的视频信息(3)

对比一个“正常”和一个“不正常”的图片,发现几个不一样的地方,其中那个CodeId是嫌疑最大的了。因为按照上面链接博客指示,我电脑中已经安装了Xvid,那么Xvid能被读是肯定的,MJPG不被读,就有理由了。于是用MediaCoder 来转码 :

11

图片中区域1可以看详细信息,转码信息就在区域2,将格式选为Xvid,再转码。用Opencv再试试,果然成功!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值