Image Acquisition Toolbox: using the 'memory' part of 'disk&memory' logging to just record timestamps

1 visualización (últimos 30 días)
I need to record video frames and their associated timestamps over an extended period of time (5 mins plus) at up to 30 fps. I currently can't go over about one minutes worth of recording using 'disk&memory' logging before i run out of memory. The actual frames are already captured to disk in the 'disk' part of the logging. So, is it possible to disable the recording of the frame data in the 'memory' part, since all i require from that part is the metadata? I'm hoping then, that i'll be able to record for longer before any out-of-memory issues appear.

Respuestas (1)

David Tarkowski
David Tarkowski el 14 de Mzo. de 2012
You can't do what you want directly, i.e. there is no mode that says just log the time stamps. I would probably use the FramesAcquiredFcn to get the time stamp and then discard the image data. You can store the time stamp in the UserData property of the videoinput object for later use.
For example:
vid = videoinput(...);
vid.FramesAcquiredFcnCount = 1;
vid.FramesACquiredFcn = @myFunction;
start(vid)
Your myFunction callback would look something like:
function myFunction (vid, ~)
[~, ts] = getdata(vid, 1);
timestamps = vid.UserData;
timestamps(end+1) = ts;
vid.UserData = timestamps;
  1 comentario
Evan Bates
Evan Bates el 18 de Mayo de 2020
Editada: Evan Bates el 19 de Mayo de 2020
Is this still the valid answer? How can you also store the frames and metadata from the getdata function in this callback function?

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by