我在 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(fileName);
有什么想法吗?