我在Matlab中处理视频,但遇到了麻烦。
我在Mac OS X 10.8.2(Mountain Lion)上使用Matlab R2012a。
我可以使用VideoReader
加载视频,然后像这样抓取一个帧:
vid = VideoReader('movie.mp4');
pic = read(vid, 20);
imshow(pic);
然而,我在Matlab中看到的是......
而不是这个(在VLC中)..
运动不仅是乱码(绿松石卡车),而且背景中的绿色卡车实际上已经消失了。我猜测编解码器正在以一种Matlab无法补偿的方式压缩电影。但是,我找不到Matlab会接受的任何其他视频格式。
显示的视频是mpeg4,yuv420p。我看到Matlab提到了很多关于支持mpeg2和AVI的偏好。我已使用ffmpeg
将视频转换为各种格式,但Matlab为每种其他文件格式都给出了以下错误:
使用VideoReader / init时出错(第447行)
无法初始化内部资源。VideoReader出错(第132行)
obj.init(文件名);
有什么想法吗?
答案 0 :(得分:3)
知道了。
感谢@wakjah关于QuickTime的提示。视频编辑朋友建议MPEG StreamClip转换为QuickTime格式。
此工具使用了我的mp4文件并让我Export as QuickTime
。
果然,Matlab将mov
文件加载起来没问题,文件也没了。
干杯。