Setting frames from mid video

I need to take 300 frames from the middle of a huge video (20000 frames) to do further manipulation. I got the following from the xylophone example but it only takes frames from the start of the video; I need to set a smaller video from frames 3701:4000:
Clip1 = VideoReader('C:\Users\(username)\Videos\Day3.4.avi'); %xylophone.mp4');
nFrames = 500; %Clip1.NumberOfFrames;
vidHeight = Clip1.Height;
vidWidth = Clip1.Width;
%%Movie Structure
mov(1:nFrames) = ...
struct('cdata',zeros(vidHeight,vidWidth, 3,'uint8'),...
'colormap',[]);
%%Reading frames
for k = 1 : nFrames
mov(k).cdata = read(Clip1,k);
end
hf = figure;
set(hf, 'position', [150 150 vidWidth vidHeight])
Any help would be greatly appriciated.

 Respuesta aceptada

Geoff Hayes
Geoff Hayes el 20 de Ag. de 2014
Editada: Geoff Hayes el 21 de Ag. de 2014
Daevin - according to videoreader.read, it is possible to read in whichever frame that you wish
video = read(obj,index) reads only the specified frames. index can be a single number or a two-element array representing an index range of the video stream.
If you are interested only in the 300 frames starting at 3701, then your above code could be modified as
nFrames = 300; %Clip1.NumberOfFrames;
vidHeight = Clip1.Height;
vidWidth = Clip1.Width;
%%Movie Structure
mov(1:nFrames) = ...
struct('cdata',zeros(vidHeight,vidWidth, 3,'uint8'),'colormap',[]);
%%Reading frames
for k = 1:nFrames
mov(k).cdata = read(Clip1,3700+k);
end
Try the above and see what happens!
EDIT
Corrected the numFrames to nFrames as per Daevin's comment below.

1 comentario

Daevin
Daevin el 21 de Ag. de 2014
Fantastic. Of course its the last placement I didn't try. For anyone that uses this, change the numFrames to nFrames.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Convert Image Type en Centro de ayuda y File Exchange.

Preguntada:

el 19 de Ag. de 2014

Editada:

el 21 de Ag. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by