Запуск и остановка объекта ввода видео

Когда вы создаете объект ввода видео, вы устанавливаете связь между MATLAB® и устройством получения изображений. Однако, прежде чем можно получить данные из устройства, необходимо запустить объект, с помощью функции start.

start(vid);

Когда вы запускаете объект, вы резервируете устройство для своего исключительного использования и блокируете настройку. Таким образом определенные свойства становятся только для чтения при выполнении.

Объект получения изображений прекращает запускаться, когда любому из следующих условий отвечают:

  • Требуемое количество кадров получено. Это происходит когда

    FramesAcquired = FramesPerTrigger * (TriggerRepeat + 1)

    где FramesAcquired, FramesPerTrigger и TriggerRepeat являются свойствами объекта ввода видео. Для получения информации об этих свойствах смотрите Данные изображения Получения.

  • Ошибка времени выполнения происходит.

  • Значение Timeout объекта достигнуто.

  • Вы выпускаете функцию stop.

Когда объект запускается, тулбокс устанавливает свойство Running объекта на 'on'. Когда объект не запускается, тулбокс устанавливает свойство Running объекта на 'off'; это состояние называется, остановился.

Следующая фигура иллюстрирует, как объект перемещается от выполнения до остановленного состояния.

Переходы от выполнения до остановленных состояний

Следующий пример иллюстрирует запуск и остановку объекта:

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

    vid = videoinput('winvideo',1);
  2. Проверьте, что изображение находится в остановленном состоянии — Использование функция isrunning, чтобы определить текущее состояние объекта ввода видео.

    isrunning(vid)
    
    ans =
    
         0
  3. Сконфигурируйте свойства проиллюстрировать объектные состояния, установить свойство TriggerType объекта ввода видео на 'Manual'. Чтобы установить значение определенных триггерных свойств, включая свойство TriggerType, необходимо использовать функцию triggerconfig. Смотрите Устанавливание Значений Trigger Properties для получения дополнительной информации.

    triggerconfig(vid, 'Manual')

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

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

    start(vid)
  5. Проверьте, что изображение запускает, но не регистрирует — Использование isrunning и функции islogging, чтобы определить текущее состояние объекта ввода видео. С ручными триггерами объект ввода видео находится в состоянии выполнения, будучи запущенным, но не начинает регистрировать данные, пока триггер не выполняется.

    isrunning(vid)
    
    ans =
    
         1
    
    islogging(vid)
    
    ans =
    
         0
  6. Выполнитесь ручной триггер — Вызывают функцию trigger, чтобы выполнить ручной триггер.

    trigger(vid)

    В то время как приобретение идет полным ходом, проверяйте состояние журналирования объекта ввода видео.

    islogging(vid)
    
    ans =
    
         1

    После того, как это получит конкретное количество кадров, объект ввода видео прекращает запускаться.

    isrunning(vid)
    
    ans =
    
         0
  7. Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

    delete(vid)
    clear vid