从指定时间或帧索引开始读取帧
从距离视频文件开头 0.5 秒处开始读取文件的一部分。然后,从帧索引 100 开始读取到视频文件结束。
构造一个与样本文件 'xylophone.mp4' 关联的 VideoReader 对象。
vidObj = VideoReader('xylophone.mp4');
通过设置 CurrentTime 属性,指定应从距离文件开头 0.5 秒处开始读取。
vidObj.CurrentTime = 0.5;
使用 readFrame 方法读取视频帧,直至到达文件结束。
while hasFrame(vidObj)
vidFrame = readFrame(vidObj);
imshow(vidFrame)
pause(1/vidObj.FrameRate);
end
您也可以使用 read 方法从指定的帧索引开始读取视频帧,直到视频结束。将要读取的索引指定为 [100 Inf]。read 方法返回从索引 100 开始到视频文件结束的所有帧。
vidframes = read(vidObj,[100 Inf]);
读取指定区间内的帧
通过指定时间或帧区间来读取视频文件的一部分。
读取 0.6 到 0.9 秒之间的视频帧。首先,创建一个视频读取器对象和一个用来保存帧的结构体数组。
vidObj = VideoReader(