How to skip the no of frames in a video

8 次查看(过去 30 天)
Suppose i want to read only one of every 10 frames of a Video
  2 个评论
James Ang
James Ang 2019-1-23
hi, does the answer really tell how to read every 10th frame of the video? as in frame 10,20,30,40...etc
Walter Roberson
Walter Roberson 2019-1-23
You can loop passing in one frame index at a time to the read() method. Or you can fetch the estimate of the number of frames and calculate 10:10:NumbeOfFrames as the index for the read() method. Watch out for the fact that the number of frames is only an estimate.

请先登录,再进行评论。

回答(1 个)

B.k Sumedha
B.k Sumedha 2016-3-4
Use read option to read only particular frames.Remaining files will be discarded automatically.
v = VideoReader('xylophone.mp4');
%Read only the first video frame.
video = read(v,1);
%Read only the last video frame.
video = read(v,Inf);
%Read frames 5 through 10.
video = read(v,[5 10]);
%Read from the 50th frame to the end of the video file.
video = read(v,[50 Inf]);
  1 个评论
Walter Roberson
Walter Roberson 2016-3-4
Using read() is no longer recommended for reading frames from VideoReader objects. The recommendation now is to use readFrame(), which can read one frame at a time. You can loop discarding frames if you want. See http://www.mathworks.com/help/matlab/import_export/read-video-files.html

请先登录,再进行评论。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by