Which image acquisition timestamp is more accurate?

3 views (last 30 days)
Hello,
I am collecting images/video from a point grey grasshopper camera over USB3. I need the ability to capture for long periods of time (more than the buffer in the camera allows), prefer individual images to movies, and need precise timing (100 fps or more). I am using a function callback with the ImageAcquiredFcn to achieve this and can access two timestamps and I wonder which is more accurate. The two timestamps are from the event structure in the function callback and the timestamp from the getdata function. I would think getdata would be more accurate, because I think it is from the camera hardware itself. Any insight/help would be appreciated! Thank you
% Initialize the camera object, start the camera
% UserData holds timing info as well as path to save the images
vidObj = videoinput('pointgrey', 1);
vidObj.UserData = struct('Path', ['C:\Temp\Filename'], 'TimeData', [], 'Count', '00000');
vidObj.FramesAcquiredFcnCount = 1;
vidObj.FramesAcquiredFcn = @timeStampFunc;
start(vidObj)
% Callback function
function timeStampFunc(vid, events)
tvec = vid.UserData;
[~,ts] = getdata(vid,1); % first timestamp
tvec(end+1,:) = [ts events.Data.AbsTime(end)]'; % second timestamp
vid.UserData = tvec;
end
Sean

Answers (0)

Community Treasure Hunt

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

Start Hunting!