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;