0


,我在尝试在 matlab 中按帧读取视频时遇到一个奇怪的错误。我正在执行以下操作:

xyloObj = VideoReader(vid_name);
fps = xyloObj.FrameRate;
nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;

% Preallocate movie structure.
mov(1:nFrames) = ...
    struct('cdata', zeros(vidHeight, vidWidth, 3, 'uint8'),...
    'colormap', []);
index =1;
for k = 1:nFrames
    mov(index).cdata = read(xyloObj, k);
    index = index+1;
end

我收到以下错误:

Error using VideoReader/read (line 80)
The file could not be read.

在其他任何地方都没有找到解决此错误的方法。
编辑:文件格式为 avi。类似于:D:\videos\drunk.avi。

4

1 回答 1

0

使用 mmread 怎么样?我在 Linux 上使用了 VideoReader,但就我而言,帧的长度不正确。

此外,由于我需要视频的时间戳,因此我已从 VideoReader mmread 更改。

于 2015-03-11T02:21:30.283 回答