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

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.

답변 (1개)

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

Is this still the valid answer? How can you also store the frames and metadata from the getdata function in this callback function?

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

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

질문:

2012년 3월 12일

편집:

2020년 5월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by