matlab 2009 中aviread(\'some.avi\') ,提示 Unable to locate decompressor to decompress video stream
网上的解决方案都说是 缺少对应的解码器,用aviinfo 查看该视频所需要的解码器,是xvid,但是下载了对应的,还是有这个问题,后面又下载了DivX plus,完美解码等等,都不行。
这个网址提供了各种编码格式:http://www.free-codecs.com/guides/FourCC.htm
另一种解决方案是用winavi,把视频解码为未压缩的RGB24真彩色。转换完之后就可以,试了可行,但是转换后的视频文件实在太大了。
最后找到的这个方法是用simlink里的模块转换视频:
利用simulink工具把视频导入,再写成multimedia-file,相当于进行了一次转换,去除了编码。
然后再用aviread函数导入转换后的avi文件,即可。
下图是simulink相关帮助页面,请参照其中的步骤进行转换。
虽然转换后文件也比较大,这个问题暂时解决。
突然明白,最好的方式是装个matlab2012,直接用VideoReader函数,具体用法可见help。因为这类问题根本不重要,不值得花这么多时间,本来用matlab就是为了节省时间的