【问题标题】:Read video using VideoReader function in Matlab?在 Matlab 中使用 VideoReader 函数读取视频?
【发布时间】:2015-12-06 02:03:59
【问题描述】:

我想从文件夹中读取视频并从中提取帧。我使用了 VidoeReader 函数。但它给出了错误。我的代码与错误一起显示在下面。

 mov=VideoReader('11.mp4');
 vidFrames=read(mov);
 nFrames=mov.NumberOfFrames;
 for i=1:nFrames
     imshow(vidFrames(:,:,i),[]);
 end

错误显示如下

使用 VideoReader/init 时出错 该文件似乎没有任何视频 数据。

VideoReader 中的错误(第 147 行) obj.init(fileName);

视频错误(第 7 行) mov=VideoReader('11.mp4');

【问题讨论】:

  • 这个问题是特定于您正在使用的电影文件,因此我们很难提供帮助。您可以在媒体播放器应用程序中播放电影吗?它有视频内容、静止图像还是只有音频?
  • 稍后您的代码中会出现错误。相关行应为:imshow(vidFrames(:,:,:,i),[]);
  • 是的,我可以在 vlc 播放器中播放视频。videoReader 功能可以使用吗?
  • 那么我猜 VideoReader 要么不支持容器(据说是 mpeg4,它确实支持),要么不支持该视频的视频编解码器。一种解决方案是使用 VLC 将其转换为 PNG,然后将它们加载到 MATLAB 中。

标签: matlab video image-processing


【解决方案1】:

我认为这是与MATLAB 版本相关的问题。我在使用MATLAB 2013a 时遇到了同样的问题。但是,当我更改为MATLAB 2014b 时,问题就消失了。

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多