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;