exponenta event banner

Настройка свойств обратного вызова

В этом примере объясняется работа функций обратного вызова и показано, как их использовать.

Функции обратного вызова выполняются при возникновении связанного события. Чтобы настроить обратный вызов для выполнения для определенного события, настройте одно из свойств обратного вызова объекта ввода видео:

  • ErrorFcn

  • FramesAcquiredFcn

  • StartFcn

  • StopFcn

  • TimerFcn

  • TriggerFcn

В этом учебном пособии используется функция обратного вызова, которая находится в

  • MATLABROOT\toolbox\imaq\imaqdemos\helper

каталог, который отображает N 'й кадр, где N предоставляется в качестве входного аргумента функции обратного вызова.

Выберите устройство для получения и настройте его для получения данных при выполнении ручного триггера.

% Access an image acquisition device.
vidobj = videoinput('winvideo', 1);

% Acquire an infinite number of frames when manually triggered.
triggerconfig(vidobj, 'manual');
vidobj.FramesPerTrigger = inf;

Настройте объект ввода видео для выполнения функции обратного вызова при остановке сбора данных.

% Specify the N'th frame the callback function will display.
frameNumber = 3;

% Have the callback function executed when the acquisition ends.
vidobj.StopFcn = {'util_showframe', frameNumber};

% Initiate the acquisition.
start(vidobj)

После запуска устройства получения изображения теннисный мяч опускается в поле зрения камеры.

% Trigger the object for logging and acquire data for a few seconds.
trigger(vidobj)
pause(5);

Когда получение остановлено, это вызовет выполнение функции обратного вызова и отображение N 'го кадра.

% Stop the acquisition.
stop(vidobj)

Как только объект ввода видео больше не нужен, удалите его и удалите из рабочей области.

delete(vidobj)
clear vidobj