Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Reading in an Entire Video

1 visualizzazione (ultimi 30 giorni)
Kevin Castell
Kevin Castell il 20 Mag 2019
Chiuso: MATLAB Answer Bot il 20 Ago 2021
I would like to read in an entire video as a matrix if possible. I know this runs into the memory usage problem. My main concern is that I would like to analyze the video frame by frame, in a faster manner than literally looping through the data. Ideally, I could plot the data from a region of interst to see if there has been a change in that region at any point during the video. I am currently using the CurrentTime function from the VideoReader class to just check in intervals. I also tried using memmapfile but I do not really understand how the function works.

Risposte (1)

KSSV
KSSV il 21 Mag 2019
vidObj = VideoReader('C:\Users\Public\Videos\Sample Videos\Wildlife.wmv');
numFrames = 0;
iwant = cell([],1) ;
while hasFrame(vidObj)
F = readFrame(vidObj);
numFrames = numFrames + 1;
imagesc(F)
drawnow
iwant{numFrames} = F ;
end
numFrames
  1 Commento
Kevin Castell
Kevin Castell il 21 Mag 2019
I have already tried this strategy and the problem is say I have a video that is 2 hours long at 60fps, if we assume that any processing i do on the frames is performed just as fast as they are played, and the loop is as fast or slightly faster than the fps, it will take at least 2 hours to process the video. I want to process the video in under 2 minutes.

Community Treasure Hunt

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

Start Hunting!

Translated by