Создание объектов сбора изображений

Типы объектов

После получения информации об оборудовании для сбора изображений, описанной в Getting Hardware Information, можно установить подключение к устройству, создав объект для сбора изображений. Тулбокс использует два типа объектов сбора изображений:

  • Вход видео

  • Объект источника видео

Входы видео

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

Исходные объекты видео

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

В любой момент времени может быть активен только один из объектов источника видео, называемый выбранным источником. Это источник, используемый для приобретения. По умолчанию тулбокс выбирает один из исходных объектов видео, но можно изменить этот выбор. Дополнительные сведения см. в разделе Установка выбранного объекта источника видео.

Следующий рисунок иллюстрирует, как объект входа видео действует как контейнер для одного или нескольких объектов источника видео.

Отношение объектов входа видео и объектов источника видео

Для примера, матрица® Устройство захвата кадров может поддерживать восемь физических соединений, которые Matrox вызывает каналами. Эти каналы могут быть сконфигурированы различными способами, в зависимости от формата видео. Если вы задаете монохромный формат видео, такой как RS170, тулбокс создает восемь объектов-источников видео, по одному объекту для каждого из восьми каналов на устройстве. Если вы задаете формат цветного видео, такой как NTSC RGB, устройство Matrox использует три физических канала, чтобы представлять одно соединение RGB, где каждое физическое соединение обеспечивает красные данные, зеленые данные и синие данные отдельно. В этом формате тулбокс создает только два объектов видео для одного и того же устройства.

Создание объекта входа видео

Чтобы создать объект входа видео, вызовите videoinput функция, задающая имя адаптера, идентификатор устройства и формат видео. Вы получили эту информацию с помощью imaqhwinfo функция (описанная в разделе «Получение аппаратной информации»). Единственным необходимым аргументом является имя адаптера. Тулбокс может использовать значения по умолчанию для идентификатора устройства и формата видео.

Этот пример создает объект входа видео, чтобы представлять соединение с устройством сбора изображений Matrox. The imaqhwinfo функция включает в себя videoinput по умолчанию синтаксис в VideoInputConstructor поле информационной структуры устройства.

vid = videoinput('matrox');

Этот синтаксис использует формат видео по умолчанию, указанный в DefaultFormat поле данных, возвращаемых imaqhwinfo. Вы можете опционально задать формат видео. Дополнительные сведения см. в разделе «Определение формата видео».

Просмотр сводных данных объекта входа видео

Чтобы просмотреть сводные данные характеристик созданного вами объекта входа видео, введите в командной строке имя переменной, которую вы присвоили объекту. Для примера это сводные данные для объекта vid.

vid

Элементы этого списка соответствуют нумерованным элементам в сводных данных объектов:

  1. Заголовок сводных данных включает имя устройства сбора изображений, которое представляет этот объект. В примере это кадр-захват Matrox Orion.

  2. В разделе «Источник сбора» перечислены имена всех объектов источника видео, связанных с этим объектом входа видео. Для многих объектов этот список может содержать только один объект-источник видео. В примере устройство Matrox поддерживает восемь физических входных каналов, и с форматом видео по умолчанию тулбокс создает объект источника видео для каждого соединения. Пример, показывающий исходные объекты видео, созданные в другом формате видео, см. в разделе Установка формата видео.

  3. В разделе Параметры перечислены значения ключевых свойств объекта входа видео. Эти свойства управляют различными аспектами захвата, такими как количество кадров, которые нужно получить, и местоположение, где сохранены полученные системы координат. Для получения информации об этих свойствах см. «Приобретение Изображения Данных».

  4. В разделе Параметры триггера перечислен тип триггера, сконфигурированный для объекта, и количество раз, когда триггер должен выполняться. Выполнение триггера инициирует логгирование данных, и тулбокс поддерживает несколько типов триггеров. По умолчанию пример объекта сконфигурирован с помощью немедленного триггера. Дополнительные сведения о настройке триггеров см. в разделе Установка типа триггера.

  5. В разделе Status перечислено текущее состояние объекта. Объект входа видео может быть в одном из нескольких состояний:

    • Выполняется или не запускается (остановлен)

    • Логгирование или отсутствие логгирования

    • Предварительный просмотр или не предварительный просмотр

    В примере объект описывает свое состояние как Waiting for START. Это указывает, что он не выполняется. Дополнительные сведения о текущем состоянии см. в разделе Запуск и остановка объекта входа видео. В этом разделе также сообщается, сколько систем координат данных было получаемы и сколько системы координат доступно в буфере, где тулбокс хранит полученные системы координат. Для получения дополнительной информации об этих параметрах см. «Управление параметрами логгирования».

Определение формата видео

Вы можете опционально задать формат видеопотока, когда вы создаете объект входа видео в качестве третьего аргумента к videoinput функция. Этот аргумент может иметь две формы:

  • Вектор символов, задающий формат видео

  • Имя файла строения устройства, также известного как файл камеры

В следующих разделах описаны эти опции. Если вы не задаете формат видео, videoinput функция использует один из поддерживаемых устройством форматов видео. Для матрицы и преобразования данных® устройства, он выбирает RS170 формат видео. Для Windows® устройства используют первый формат RGB в списке поддерживаемых форматов или, если не поддерживаются форматы RGB, формат по умолчанию устройства.

Использование вектора символов Формат

Чтобы задать формат видео в качестве вектора символов, используйте imaqhwinfo функция для определения списка поддерживаемых форматов. The imaqhwinfo функция возвращает эту информацию в SupportedFormats поле информационной структуры устройства. Дополнительные сведения см. в разделе Определение поддерживаемых форматов видео.

В этом примере каждый из векторов символов является форматом видео, поддерживаемым устройством Matrox.

info = imaqhwinfo('matrox');

info.DeviceInfo.SupportedFormats

ans = 
  Columns 1 through 4

    'M_RS170'    'M_RS170_VIA_RGB'    'M_CCIR'    'M_CCIR_VIA_RGB'    

  Columns 5 through 8

'M_NTSC'    'M_NTSC_RGB'      'M_NTSC_YC'    'M_PAL' 

  Columns 9 through 10

'M_PAL_RGB'    'M_PAL_YC'

Для устройств Matrox, тулбокс использует формат RS170 как значение по умолчанию. (Чтобы узнать, какой формат является форматом видео по умолчанию, смотрите в DefaultFormat поле информационной структуры устройства, возвращаемое imaqhwinfo функцию.)

Примечание

Для устройств Matrox, M_NTSC_RGB формат представляет формат видео компонента.

Этот пример создает объект входа видео, задавая формат цветного видео.

vid2 = videoinput('matrox', 1,'M_NTSC_RGB');

Использование файлов строения устройства (файлы камеры)

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

Примечание

Тулбокс игнорирует триггерные строения оборудования включенные в файл строения устройства. Чтобы сконфигурировать триггер оборудования, необходимо использовать тулбокс triggerconfig функция. Дополнительные сведения см. в разделе Использование аппаратного триггера.

Например, с помощью grabbers фреймов Matrox, можно скачать файлы формата строения дигитайзера (DCF) в их терминологии. Эти файлы конфигурируют свои устройства для поддержки конкретных камер.

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

Чтобы определить, поддерживает ли ваше устройство сбора изображений файлы строения устройства, проверьте значение DeviceFileSupported поле информационной структуры устройства, возвращаемое imaqhwinfo. Дополнительные сведения см. в разделе Получение дополнительной информации о конкретном устройстве.

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

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

Определение выбранного объекта источника видео

Когда вы создаете объект входа видео, тулбокс создает один или несколько объектов источника видео, сопоставленных с объектом входа видео. Количество созданных объектов-источников видео зависит от устройства и формата видео. The Source свойство объекта входа видео приводит эти объекты источника видео.

Для иллюстрации в этом примере перечисляются объекты источника видео, сопоставленные с объектом входа видео vid.

vid.Source
     Display Summary for Video Source Object Array:

      Index:   SourceName:   Selected:
      1        'CH0'         'on'     
      2        'CH1'         'off'    
      3        'CH2'         'off'    
      4        'CH3'         'off'    
      5        'CH4'         'off'    
      6        'CH5'         'off'    
      7        'CH6'         'off'    
      8        'CH7'         'off'

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

Этот пример меняет текущий выбранный объект видео на CH0 на CH1 путем установки значения SelectedSourceName свойство.

vid.SelectedSourceName = 'CH1';

Примечание

The getselectedsource функция возвращает объект источника видео, который в данный момент выбран во время вызова функции. Если вы измените значение SelectedSourceName свойство, вы должны вызвать getselectedsource снова функция для извлечения нового выбранного объекта видео.

Получение информации об объекте входа видео

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

out = imaqhwinfo(vid)
out = 

                AdaptorName: 'winvideo'
                 DeviceName: 'IBM PC Camera'
                  MaxHeight: 96
                   MaxWidth: 128
             NativeDataType: 'uint8'
               TotalSources: 1
    VendorDriverDescription: 'Windows WDM Compatible Driver'
        VendorDriverVersion: 'DirectX 9.0'