Для иллюстрации использования обратных вызовов в этом разделе представлен простой пример создания объекта получения изображения и связывания функции обратного вызова с событием запуска, событием запуска и событием остановки. Сведения обо всех обратных вызовах событий, поддерживаемых панелью инструментов, см. в разделе Типы событий.
В примере используется функция обратного вызова по умолчанию, предоставляемая с панелью инструментов. imaqcallback. Функция обратного вызова по умолчанию отображает имя объекта вместе с информацией о типе произошедшего события и его времени. Сведения о создании собственных функций обратного вызова см. в разделе Создание и выполнение функций обратного вызова.
В этом примере показано, как использовать функцию обратного вызова по умолчанию.
Создать объект получения изображения - в этом примере создается объект ввода видео для устройства получения изображения Matrox ®. Для запуска этого примера в системе используйте imaqhwinfo чтобы получить конструктор объекта для устройства получения изображения и заменить этот синтаксис следующим кодом.
vid = videoinput('matrox',1);Настройка свойств - установка значений трех свойств обратного вызова. В примере используется функция обратного вызова по умолчанию imaqcallback.
vid.StartFcn = @imaqcallback vid.TriggerFcn = @imaqcallback vid.StopFcn = @imaqcallback
В этом примере указывается объем данных для регистрации.
vid.FramesPerTrigger = 100;
Запуск объекта получения изображения - запуск объекта получения изображения. Объект выполняет немедленный триггер, получает 100 кадров данных, а затем останавливается. С включенными тремя функциями обратного вызова объект выводит информацию о каждом событии по мере его возникновения.
start(vid) Start event occurred at 14:38:46 for video input object: M_RS170-matrox-1. Trigger event occurred at 14:38:46 for video input object: M_RS170-matrox-1. Stop event occurred at 14:38:49 for video input object: M_RS170-matrox-1.
Очистить - всегда удалять объекты сбора изображений из памяти и переменные, которые ссылаются на них, когда они больше не нужны.
delete(vid) clear vid