Создание объектов получения изображений

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

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

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

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

Объекты ввода видео

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

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

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

В любой момент только один из объектов источника видеосигнала, названных выбранным источником, может быть активным. Это - источник, используемый для захвата. Тулбокс выбирает один из объектов источника видеосигнала по умолчанию, но можно изменить этот выбор. Смотрите Определение Выбранного Объекта Источника видеосигнала для получения дополнительной информации.

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

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

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

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

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

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

vid = videoinput('matrox');

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

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

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

vid

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

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

  2. Раздел Acquisition Source перечисляет имя всех объектов источника видеосигнала, сопоставленных с этим объектом ввода видео. Для многих объектов этот список может только содержать один объект источника видеосигнала. В примере устройство Matrox поддерживает восемь физических входных каналов и с форматом видео по умолчанию, тулбокс создает объект источника видеосигнала для каждой связи. Для примера, показывающего объекты источника видеосигнала, созданные с другим форматом видео, смотрите Определение Формата видео.

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

  4. Раздел Trigger Parameters перечисляет триггерный тип, сконфигурированный для объекта и числа раз, триггер должен быть выполнен. Триггерное выполнение инициирует регистрацию данных, и тулбокс поддерживает несколько типов триггеров. Объект в качестве примера сконфигурирован по умолчанию с мгновенным триггером. Для получения дополнительной информации о конфигурировании триггеров, смотрите Определение Триггерного Типа.

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

    • Выполнение или не выполнение (остановились)

    • Регистрируя или не регистрируя

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

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

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

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

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

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

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

Используя вектор символов формата видео

Чтобы задать формат видео как вектор символов, используйте imaqhwinfo функция, чтобы определить список поддерживаемых форматов. 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 функция. Смотрите Используя Аппаратный Триггер для получения дополнительной информации.

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

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

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

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

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

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

Когда вы создаете объект ввода видео, тулбокс создает один или несколько объектов источника видеосигнала, сопоставленных с объектом ввода видео. Количество созданных объектов источника видеосигнала зависит от устройства и формата видео. 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';

Примечание

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'