您的位置:首页 > 运维架构

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

2013-10-16 16:09 1711 查看
先写好了文章,网络不稳定,网站的自动保存竟然也没起作用…泪奔…
正题:
做图像处理经常会用Matlab来仿真,验证算法思路,进而用OpenCv来实现交付。
最初用Matlab做仿真,读取avi基本没有问题,有问题的100个视频也内格式工厂搞定。不过转到Opencv后就出现了问题:那些Matlab能读的,Opencv读不了。
这真是恼人。
后来参考了:http://blog.sina.com.cn/s/blog_5728fc490100qq6v.html这篇文章,下载了Xvid解码器,解决了一部分问题。说是一部分问题,是因为,这时候有些视频Opencv可以读了,Matlab回过头来却读不了了…
不过在当时那阶段,这个问题不大。待Opencv代码写好,便开始解决这个问题。
在解决过程中,MediaCoder x64这个软件起到了决定性作用。
先上图片:



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



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



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



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



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



图片中区域1可以看详细信息,转码信息就在区域2,将格式选为Xvid,再转码。用Opencv再试试,果然成功!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: