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

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

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

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

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

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

Объект ввода видео представляет связь между 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 и устройств Data Translation®, это выбирает формат видео 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'