exponenta event banner

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

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

start(vid);

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

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

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

    FramesAcquired = FramesPerTrigger * (TriggerRepeat + 1)

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

  • Возникает ошибка времени выполнения.

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

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

При запуске объекта панель инструментов задает Running свойство для 'on'. Если объект не выполняется, панель инструментов задает Running свойство для 'off'; это состояние называется остановленным.

На следующем рисунке показано, как объект переходит из запущенного состояния в остановленное.

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

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

  1. Создать объект получения изображения - в этом примере создается объект ввода видео для устройства получения изображения веб-камеры. Для запуска этого примера в системе используйте imaqhwinfo чтобы получить конструктор объекта для устройства получения изображения и заменить этот синтаксис следующим кодом.

    vid = videoinput('winvideo',1);
  2. Убедитесь, что изображение остановлено - Используйте isrunning для определения текущего состояния объекта ввода видео.

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

    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