Ожидание захвата, чтобы закончиться

Используя Функцию ожидания

start функционируйте и trigger функция является асинхронными функциями. Таким образом, они запускают захват систем координат и возвращают управление в MATLAB® командная строка сразу.

В некоторых сценариях вы можете хотеть, чтобы ваше приложение ожидало, пока захват не завершается перед продолжением другой обработки. Для этого вызовите wait функционируйте сразу после start или trigger функция возвращается. wait функциональные блоки, которые командная строка MATLAB до захвата завершает или значение тайм-аута, истекают, какой бы ни на первом месте.

По умолчанию, wait блокирует командную строку, пока объект ввода видео не прекращает запускаться. Можно опционально задать тот wait блокируйте командную строку, пока объект не прекратит регистрировать. Для захватов с помощью мгновенного триггера объекты ввода видео всегда прекращают запускаться и прекращают регистрировать одновременно. Однако с ручным триггером, сконфигурированным для множеств потоков выполнения (TriggerRepeat > 0), можно использовать wait сразу после каждого вызова trigger функционируйте, чтобы блокировать командную строку, в то время как логгирование происходит, даже при том, что объект остается в состоянии выполнения в целом захвате.

Следующая фигура иллюстрирует поток управления в командной строке MATLAB для одного выполнения мгновенного триггера и ручного триггера, с и без wait функция. Аппаратный триггер похож на ручную триггерную схему, за исключением того, что захват инициирован внешним сигналом к плате камеры или устройства захвата изображения, не trigger функция. Для примера смотрите Блокирование Командной строки, Пока Захват Не Завершится.

Используя ожидание, чтобы Блокировать командную строку MATLAB

При блокировании командной строки, пока не завершается захват

Следующий пример иллюстрирует, как использовать wait функционируйте, чтобы поместить 60 пределов второго раза на выполнение аппаратного триггера. Если аппаратный триггер не выполняется в ограничении по времени, wait возвращает управление в командную строку MATLAB.

  1. Создайте объект получения изображений — Этот пример создает объект ввода видео для Matrox® устройство получения изображений. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.

    vid = videoinput('matrox',1);
    
  2. Сконфигурируйте аппаратный триггер — Использование 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));
  3. Сконфигурируйте другие свойства объектов — Этот пример также устанавливает значение FramesPerTrigger свойство сконфигурировать захват, достаточно большой, чтобы произвести значимую длительность. (Значением по умолчанию являются 10 систем координат на триггер.)

    vid.FramesPerTrigger = 100
  4. Запустите объект получения изображений — Вызов start функционируйте, чтобы запустить объект получения изображений.

    start(vid)

    start функционируйте устанавливает объектное выполнение и возвращает управление в командную строку.

  5. Блокируйте командную строку до концов захвата — После start функция возвращается, вызовите wait функция.

    wait(vid,60)

    wait истекают функциональные блоки, которые командная строка до аппаратных триггерных огней и захвата завершает или до количества времени, заданного значением тайм-аута.

  6. Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

    delete(vid)
    clear vid