Effacer les filtres
Effacer les filtres

How do I save multiple frames from a video?

3 vues (au cours des 30 derniers jours)
Kiersten Horton
Kiersten Horton le 28 Juin 2021
Commenté : Mili Goyal le 7 Juil 2021
I am trying to extract 10 frames from any video (evenly spaced time intervals throughout its duration). It is only saving one photo (the very first frame). How do I get all 10 frames and save them? I was hoping my third to last line would solve the problem, but it did not. It saves directly to my matlab folder, and I am not too worried about that part.
%Pick desired video file
startingFolder = pwd; % or 'C:\wherever';
if ~exist(startingFolder, 'dir')
% If that folder doesn't exist, just start in the current folder.
startingFolder = pwd;
end
defaultFileName = fullfile(startingFolder, '*.*');
[baseFileName, folder] = uigetfile(defaultFileName, 'Select a file');
if baseFileName == 0
% User clicked the Cancel button.
return;
end
fullFileName = fullfile(folder, baseFileName); % holds chosen video file
obj = VideoReader(fullFileName);
frameReader = readFrame(obj);
get(obj)
% read the total number of frames
numFrames = ceil(obj.FrameRate*obj.Duration); %maybe subtract 1, may not be necessary here
% file format of the frames to be saved in
ST ='.jpg';
% reading and writing the frames
vid = readFrame(obj);
for x = 1 : obj.Duration/10 : numFrames
imwrite(vid(:,:,:,x),strcat('ChosenFrame-',num2str(x),'.jpg'));
end

Réponses (1)

Mili Goyal
Mili Goyal le 28 Juin 2021
I think the readFrame outside the for loop could be the problem. Try placing it inside the for loop. Refer to the following MATLAB Answer for better clarification.
  2 commentaires
Kiersten Horton
Kiersten Horton le 28 Juin 2021
I tried doing that, and I am still having the same problem.
Mili Goyal
Mili Goyal le 7 Juil 2021
What exactly is the issue that you are facing now?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Produits


Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by