Get Current Frame out of Video Reader Object?

12 vues (au cours des 30 derniers jours)
Alicia Wüst
Alicia Wüst le 25 Juil 2021
Hi everybody,
when I stopp playing an VideoReader Object, is there a way to get the current videoFrame?
Something like currentFrame etc.?
Best regards.

Réponses (2)

Shadaab Siddiqie
Shadaab Siddiqie le 28 Juil 2021
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 le 28 Juil 2021
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