关于Matlab中avi视频的读取问题
由于上传图片不方便,请查阅百度文库:http://wenku.baidu.com/view/a88c6a8bd4d8d15abe234e9c.html
很多学员反映matlab对一些视频利用函数aviread(或者mmreader)可以,别的不可以。
这是因为matalb中函数aviread对读取avi的视频比较苛刻……
首先利用函数aviinfo就可以得到你的视频的压缩格式,据我所见到的视频来说,
aviread支持无压缩格式的avi(zjmedia rgb24)和 'Cinepak'格式的avi文件和'Indeo5'压缩格式的avi。
函数mmreader支持的格式更加广泛一些,但是仍然不是很全……
如果你的视频格式不是aviread或者mmreader所支持的,就可以利用视频转换器进行设置
WinAVI 9.0就是一个不错的软件,
下载链接:http://ishare.iask.sina.com.cn/download/explain.php?fileid=3260025
win9.0不能转换divx压缩格式的avi视频,需要利用xvid软件先将divx转换为xvid格式的,
然后再利用winavi软件转为需要的格式。
举个例子吧:
第一步:
在Matlab中输入
>> aviinfo('car2.avi')
ans =
Filename: 'car2.avi'
FileSize: 11579290
FileModDate: '15-Mar-2013 21:55:05'
NumFrames: 602
FramesPerSecond: 20
Width: 762
Height: 504
ImageType: 'truecolor'
VideoCompression: 'MJPG'
Quality: 4.2950e+007
NumColormapEntries: 0
AudioFormat: 'Format #85'
AudioRate: 44100
NumAudioChannels: 2
第二步:将'MJPG'转为'Cinepak'压缩格式,打开winavi软件WinAVI.exe,界面如下所示,
点击
然后选择需要处理的视频,
此处我选择需要处理的视频car3.avi,出现下面的界面
然后选择“高级”按钮,弹出下面的界面,
点击视频右边的下拉条,选择无压缩格式(zjmedia rgb24)或 'Cinepak'压缩格式,然后就开始转换,此处我选择了zjmedia rgb24,界面如下:
转换结束后,提示“所有任务完成”
第三步,查看转换完后的视频压缩格式,如下所示
ans =
Filename: 'car4.avi'
FileSize: 673405440
FileModDate: '24-Apr-2013 21:19:40'
NumFrames: 601
FramesPerSecond: 20
Width: 752
Height: 496
ImageType: 'truecolor'
VideoCompression: 'none'
Quality: 0
NumColormapEntries: 0
AudioFormat: 'Format #85'
AudioRate: 44100
NumAudioChannels: 2
可以看出压缩格式为none,说明是无压缩格式。
第四步,读入视频
可以看出读入视频正常。圆满成功!!!