【问题标题】:matlab - VideoReader frames aren't decoded accuratelymatlab - VideoReader 帧未准确解码
【发布时间】: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


【解决方案1】:

知道了。

感谢 @wakjah 提供有关 QuickTime 的提示。一位视频编辑朋友建议MPEG StreamClip 转换为QuickTime 格式。

这个工具拿走了我的 mp4 文件,让我Export as QuickTime

果然,Matlab 将其加载到mov 文件没有问题,工件也不见了。

干杯。

【讨论】:

  • 谢谢,你是救命稻草!
猜你喜欢
  • 1970-01-01
  • 2015-03-18
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多