vid7
This example implements a callback function (display_frame) for a frames-acquired event. This callback function enables you to monitor the frames being acquired by viewing a sample frame periodically.
% Create a video input object. vid = videoinput('winvideo',1,'YUY2_640x480'); set(vid,'ReturnedColorSpace','rgb');
% configure property values set(vid,'FramesPerTrigger', 30); set(vid,'TriggerRepeat', 4); set(vid,'FramesAcquiredFcnCount', 5); set(vid,'FramesAcquiredFcn', {'display_frame'});
% Acquire data
start(vid);
pause(3);
ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.0950] FrameMemoryLimit: 168386560 FrameMemoryUsed: 3072000 FrameNumber: 5 RelativeFrame: 5 TriggerIndex: 1 ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.2547] FrameMemoryLimit: 168386560 FrameMemoryUsed: 6144000 FrameNumber: 10 RelativeFrame: 10 TriggerIndex: 1 ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.4148] FrameMemoryLimit: 168386560 FrameMemoryUsed: 9216000 FrameNumber: 15 RelativeFrame: 15 TriggerIndex: 1 ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.5907] FrameMemoryLimit: 168386560 FrameMemoryUsed: 12288000 FrameNumber: 20 RelativeFrame: 20 TriggerIndex: 1 ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.7508] FrameMemoryLimit: 168386560 FrameMemoryUsed: 15360000 FrameNumber: 25 RelativeFrame: 25 TriggerIndex: 1 ans = timestamp 12:29:29 AbsTime: [2011 1 30 12 29 29.9289] FrameMemoryLimit: 168386560 FrameMemoryUsed: 18432000 FrameNumber: 30 RelativeFrame: 30 TriggerIndex: 1 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.0868] FrameMemoryLimit: 168386560 FrameMemoryUsed: 21504000 FrameNumber: 35 RelativeFrame: 5 TriggerIndex: 2 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.2468] FrameMemoryLimit: 168386560 FrameMemoryUsed: 24576000 FrameNumber: 40 RelativeFrame: 10 TriggerIndex: 2 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.4228] FrameMemoryLimit: 168386560 FrameMemoryUsed: 27648000 FrameNumber: 45 RelativeFrame: 15 TriggerIndex: 2 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.5828] FrameMemoryLimit: 168386560 FrameMemoryUsed: 30720000 FrameNumber: 50 RelativeFrame: 20 TriggerIndex: 2 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.7590] FrameMemoryLimit: 168386560 FrameMemoryUsed: 33792000 FrameNumber: 55 RelativeFrame: 25 TriggerIndex: 2 ans = timestamp 12:29:30 AbsTime: [2011 1 30 12 29 30.9188] FrameMemoryLimit: 168386560 FrameMemoryUsed: 36864000 FrameNumber: 60 RelativeFrame: 30 TriggerIndex: 2 ans = timestamp 12:29:31 AbsTime: [2011 1 30 12 29 31.0788] FrameMemoryLimit: 168386560 FrameMemoryUsed: 39936000 FrameNumber: 65 RelativeFrame: 5 TriggerIndex: 3 ans = timestamp 12:29:31 AbsTime: [2011 1 30 12 29 31.2548] FrameMemoryLimit: 168386560 FrameMemoryUsed: 43008000 FrameNumber: 70 RelativeFrame: 10 TriggerIndex: 3 ans = timestamp 12:29:31 AbsTime: [2011 1 30 12 29 31.4149] FrameMemoryLimit: 168386560 FrameMemoryUsed: 46080000 FrameNumber: 75 RelativeFrame: 15 TriggerIndex: 3
% bring data into MATLAB workspace
data = getdata(vid);
disp(size(data));
480 640 3 30
% cleanup delete(vid); clear vid;