Get Current Frame out of Video Reader Object?

6 次查看(过去 30 天)
Hi everybody,
when I stopp playing an VideoReader Object, is there a way to get the current videoFrame?
Something like currentFrame etc.?
Best regards.

回答(2 个)

Shadaab Siddiqie
Shadaab Siddiqie 2021-7-28
From my understanding you want to get the frame when you pause a video. If you know at which time you will be pausing the video the you can get the frame:
time = 3.5 % suppose you need frame at 3.5th second
v = VideoReader('Test.avi','CurrentTime’, time);
If you really want to pause video, one possible workaround would be to use implay to pause video and get the frame like so:
% use implay to get frame time
fig = implay('Test.avi')
% pause video and get the exact time of the video
CurrentFrameTime = fig.DataSource.Controls.TimeOfDisplayData;
% use videoreader to get the frame from the time
v = VideoReader('Test.avi','CurrentTime',CurrentFrameTime);
f = readFrame(v);
imshow(f)

Alicia Wüst
Alicia Wüst 2021-7-28
Thanks for your help! I‘ll try this today.

Community Treasure Hunt

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

Start Hunting!

Translated by