필터 지우기
필터 지우기

Read specific frames from a video

조회 수: 1 (최근 30일)
Naseer Khan
Naseer Khan 2016년 8월 21일
답변: Tuan Nguyen 2017년 5월 30일
I want to read some specific frames from a video.Following is my code
videoData=VideoReader(absPath);
i=1;
while hasFrame(videoData)
img = readFrame(videoData);
filename = [sprintf('%03d',i) '.jpg'];
fullname = fullfile(savePath,filename);
imwrite(img,fullname) % Write out to a JPEG file (img1.jpg, img2.jpg, etc.)
i = i+1;
end
Issue is that I have seen on sites that "read" method got used but it is NOT available in Matlab 2015.Is there some way? Please also tell me what would I need to do if I need to extract frames after a particular time delay?
regards

답변 (2개)

Geoff Hayes
Geoff Hayes 2016년 8월 21일
Nasser - try using read instead which was introduced in R2010b (and is to be replaced by readFrame).
  댓글 수: 2
Naseer Khan
Naseer Khan 2016년 8월 21일
readFrame does not have options like frame number or read frame after some time?
Geoff Hayes
Geoff Hayes 2016년 8월 21일
Nasser - I don't understand. Do you have the function readFrame or not?

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


Tuan Nguyen
Tuan Nguyen 2017년 5월 30일
For example if i want to read frame 10 to 20:
arr=10:20; i=1; while hasFrame(videoData) if(i>max(arr)) break; img = readFrame(videoData); if (any(i==arr) filename = [sprintf('%03d',i) '.jpg']; fullname = fullfile(savePath,filename); imwrite(img,fullname)
i = i+1;
end

Community Treasure Hunt

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

Start Hunting!

Translated by