【发布时间】:2013-03-17 17:58:06
【问题描述】:
我正在使用 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(文件名);
有什么想法吗?
【问题讨论】:
-
根据
VideoReader的文档,它使用 QuickTime 作为 Mac 上的编解码器。你在 Windows 上试过吗? (它在 Windows 上使用 DirectShow)另外,您可以尝试更新 QuickTime 以查看是否有帮助。
标签: image matlab video image-processing computer-vision