将提取的视频帧保存为图像

时间:2016-07-12 13:00:07

标签: matlab image-processing video-processing

我希望屏幕抓取视频帧,并将每个帧保存为桌面上的文件夹中的图像。但是,我只想捕获某些帧,这些帧是用文本文档写的。

我的问题是,如何读取存储在此文本文档中的帧编号,并仅将这些帧提取到png文件?

感谢您提供的任何帮助。如果我需要澄清任何内容,请询问。

frames = dlmread('Frames.txt');

%getting no of frames
numFrames = mov.NumberOfFrames;

%setting current status of number of frames written to zero
numFramesWritten = 0;

for t = frames: numFrames
   currFrame = read(mov, t);    %reading individual frames
   opBaseFileName = sprintf('%3.3d.png', t);
   opFullFileName = fullfile(opFolder, opBaseFileName);
   imwrite(currFrame, opFullFileName, 'png');   %saving as 'png' file
   progIndication = sprintf('Wrote frame %4d of %d.', t, numFrames);
   disp(progIndication);
   numFramesWritten = numFramesWritten + 1;
end

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题:

  

...如何读取本文中存储的帧编号   文档,只将这些帧提取到png文件?

并假设'frames'是包含所需帧的指标子集的向量,那么您需要做的就是更改for循环

for t = frames