Borrar filtros
Borrar filtros

Read specific frames from a video

1 visualización (últimos 30 días)
Naseer Khan
Naseer Khan el 21 de Ag. de 2016
Respondida: Tuan Nguyen el 30 de Mayo de 2017
I want to read some specific frames from a video.Following is my code
videoData=VideoReader(absPath);
i=1;
while hasFrame(videoData)
img = readFrame(videoData);
filename = [sprintf('%03d',i) '.jpg'];
fullname = fullfile(savePath,filename);
imwrite(img,fullname) % Write out to a JPEG file (img1.jpg, img2.jpg, etc.)
i = i+1;
end
Issue is that I have seen on sites that "read" method got used but it is NOT available in Matlab 2015.Is there some way? Please also tell me what would I need to do if I need to extract frames after a particular time delay?
regards

Respuestas (2)

Geoff Hayes
Geoff Hayes el 21 de Ag. de 2016
Nasser - try using read instead which was introduced in R2010b (and is to be replaced by readFrame).
  2 comentarios
Naseer Khan
Naseer Khan el 21 de Ag. de 2016
readFrame does not have options like frame number or read frame after some time?
Geoff Hayes
Geoff Hayes el 21 de Ag. de 2016
Nasser - I don't understand. Do you have the function readFrame or not?

Iniciar sesión para comentar.


Tuan Nguyen
Tuan Nguyen el 30 de Mayo de 2017
For example if i want to read frame 10 to 20:
arr=10:20; i=1; while hasFrame(videoData) if(i>max(arr)) break; img = readFrame(videoData); if (any(i==arr) filename = [sprintf('%03d',i) '.jpg']; fullname = fullfile(savePath,filename); imwrite(img,fullname)
i = i+1;
end

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by