start функции и trigger функции являются асинхронными функциями. То есть они начинают сбор кадров и немедленно возвращают управление в командную строку MATLAB ®.
В некоторых сценариях может потребоваться, чтобы приложение дождалось завершения приобретения, прежде чем продолжить другую обработку. Для этого вызовите wait сразу после start или trigger функция возвращает. wait функция блокирует командную строку MATLAB до завершения сбора данных или истечения времени ожидания, в зависимости от того, что наступит раньше.
По умолчанию wait блокирует командную строку до тех пор, пока не прекратится запуск объекта ввода видео. При необходимости можно указать, что wait блокировать командную строку до тех пор, пока объект не прекратит ведение журнала. Для приобретений, использующих немедленный триггер, объекты ввода видео всегда прекращают работу и одновременно прекращают ведение журнала. Однако с ручным триггером, настроенным для нескольких исполнений (TriggerRepeat > 0), можно использовать wait сразу после каждого звонка в trigger функция блокировки командной строки во время регистрации, даже если объект остается в рабочем состоянии на протяжении всего процесса регистрации.
На следующем рисунке показан поток управления в командной строке MATLAB для однократного выполнения немедленного триггера и ручного триггера с и без wait функция. Аппаратный триггер аналогичен схеме ручного триггера, за исключением того, что получение инициируется внешним сигналом на камеру или плату захвата кадра, а не trigger функция. Пример см. в разделе Блокирование командной строки до завершения сбора данных.
Использование wait для блокировки командной строки MATLAB

В следующем примере показано, как использовать wait функция для установления 60-секундного временного ограничения на выполнение аппаратного триггера. Если аппаратный триггер не выполняется в течение указанного времени, wait возвращает элемент управления в командную строку MATLAB.
Создать объект получения изображения - в этом примере создается объект ввода видео для устройства получения изображения Matrox ®. Для запуска этого примера в системе используйте imaqhwinfo чтобы получить конструктор объекта для устройства получения изображения и заменить этот синтаксис следующим кодом.
vid = videoinput('matrox',1);
Настройка аппаратного триггера - используйте triggerinfo для определения допустимых конфигураций TriggerSource и TriggerCondition свойства. Дополнительные сведения см. в разделе Определение допустимых конфигураций. В этом примере: triggerinfo возвращает следующие допустимые конфигурации триггера.
triggerinfo(vid)
Valid Trigger Configurations:
TriggerType: TriggerCondition: TriggerSource:
'immediate' 'none' 'none'
'manual' 'none' 'none'
'hardware' 'risingEdge' 'TTL'
'hardware' 'fallingEdge' 'TTL' Настройка свойств триггера объекта ввода видео для одной из допустимых комбинаций, возвращаемых triggerinfo. Можно указать каждое значение свойства в качестве аргумента для triggerconfig функция
triggerconfig(vid, 'hardware','risingEdge','TTL')
Кроме того, можно задать эти значения, передав одну из структур, возвращенных triggerinfo функции к triggerconfig функция.
configs = triggerinfo(vid); triggerconfig(vid,configs(3));
Настроить другие свойства объекта - в этом примере также задается значение FramesPerTrigger свойство для настройки сбора данных, достаточно большого для получения заметной продолжительности. (Значение по умолчанию - 10 кадров на триггер.)
vid.FramesPerTrigger = 100
Запуск объекта сбора изображений - вызовите start для запуска объекта получения изображения.
start(vid)
start устанавливает запущенный объект и возвращает управление в командную строку.
Блокировать командную строку до завершения сбора данных - после start функция возвращает, вызывает wait функция.
wait(vid,60)
wait функция блокирует командную строку до тех пор, пока аппаратный триггер не запустится и не завершится сбор данных или пока не истечет время, указанное значением тайм-аута.
Очистить - всегда удалять объекты сбора изображений из памяти и переменные, которые ссылаются на них, когда они больше не нужны.
delete(vid) clear vid