How to extract frames from a video in MATLAB?
Mostrar comentarios más antiguos
Hi, I have managed to read the video frames, but how do i extract them?
videoFReader = vision.VideoFileReader('face.avi');
videoPlayer = vision.VideoPlayer;
while ~isDone(videoFReader)
videoFrame = step(videoFReader);
step(videoPlayer, videoFrame);
end
release(videoPlayer);
release(videoFReader);
Any help would be appreciated
Thank you
Respuesta aceptada
Más respuestas (1)
%this code can run on newer versions of Matlab for older versions use %mmreader instead of VideoReader
video=VideoReader('d:\dataset\taxi.mpg');
%pass the path of the video file with extension
for k = 1 : 40
%fill in the no of frames the video contains or anything less than that, The
%no of frames in a video can be identified by reading info about the video.
%i.e. the frame rate in fps, multiply it with video length in sec.
this_frame = read(video, k);
a=sprintf('Frame #%d.jpg', k); % store the name of the frame in 'a'.
imwrite(this_frame,a,'jpg'); % store the extracted frame under the compression scheme with third parameter.
end
2 comentarios
Anirban Kundu
el 22 de Abr. de 2019
the imwrite function is not working. It says that "Unable to open file "Frame #1.jpg" for writing. You might not have write permission." I am using Matlab 2018a. Please provide me a solution
Image Analyst
el 22 de Abr. de 2019
What is the folder you're writing to? It's not under Program Files is it, because Windows does not allow you to write there.
Categorías
Más información sobre Image Preview and Device Configuration en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!