How to skip the no of frames in a video
6 次查看(过去 30 天)
显示 更早的评论
Suppose i want to read only one of every 10 frames of a Video
2 个评论
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
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
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
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!