How to extract a frame every 10 s from the video ?

조회 수: 4 (최근 30일)
muhammad choudhry
muhammad choudhry 2021년 4월 21일
댓글: Image Analyst 2022년 12월 23일
Hi,
I have a video which runs for 30 minutes at the rate of 60 fps. I need to extract the frame every 10 second. For example: 10s(600th frame),20s(1200th frame),30s(1800th frame) so on..... I looked through the internet I can get the info about how to read, write video and extract frame but did not get the info about exactly what I am looking for. Your help will be appreciated!
Thanks

채택된 답변

Stephan
Stephan 2021년 4월 21일
편집: Stephan 2021년 4월 21일
In your case the interval to take the first frame after 10 seconds would be:
v = VideoReader('YOUR_FILENAME.mp4');
frames = read(v,[600:600:end]);
The result is a 4D-Array which is the first 3 dimensions having the video frame and the 4th dimension is the time - here 10 seconds
  댓글 수: 7
B Sarath
B Sarath 2022년 12월 23일
Sir could you please help me the writing the code for to divide video into frames for every 2 seconds.The file properties are length:1:46 Frame rate: 29.92 fs Storage:16.7mb
Image Analyst
Image Analyst 2022년 12월 23일
I don't know what this means. Do you want to split up a single video into multiple videos, each having a run time of 2 seconds? Do you want to take the frames for each 2 second long segment and write them out to a folder (with a name that is the start time of that segment)?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by