How do I read each frame of a video?

7 views (last 30 days)
For an .avi file, I can read in the file using video = VideoReader(filename) and then read the first frame using readFrame(video) which gives me an array of type uint8. How do I read aeach frame?

Accepted Answer

Kevin Holly
Kevin Holly on 3 May 2023
You can use a while loop as shown in the documentation here.
Note, you can save a 3D/4D matrix of the video if memory permits by defining a variable as such:
ii = 1;
while hasFrame(vidObj)
vidFrame(:,:,:,ii) = readFrame(vidObj); %vidFrame(:,:,:,ii) for color image and vidFrame(:,:,ii) for gray image
ii = ii+1;
end

More Answers (1)

Image Analyst
Image Analyst on 4 May 2023

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!