После получения информации об оборудовании для сбора изображений, описанной в 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
Элементы этого списка соответствуют нумерованным элементам в сводных данных объектов:
Заголовок сводных данных включает имя устройства сбора изображений, которое представляет этот объект. В примере это кадр-захват Matrox Orion.
В разделе «Источник сбора» перечислены имена всех объектов источника видео, связанных с этим объектом входа видео. Для многих объектов этот список может содержать только один объект-источник видео. В примере устройство Matrox поддерживает восемь физических входных каналов, и с форматом видео по умолчанию тулбокс создает объект источника видео для каждого соединения. Пример, показывающий исходные объекты видео, созданные в другом формате видео, см. в разделе Установка формата видео.
В разделе Параметры перечислены значения ключевых свойств объекта входа видео. Эти свойства управляют различными аспектами захвата, такими как количество кадров, которые нужно получить, и местоположение, где сохранены полученные системы координат. Для получения информации об этих свойствах см. «Приобретение Изображения Данных».
В разделе Параметры триггера перечислен тип триггера, сконфигурированный для объекта, и количество раз, когда триггер должен выполняться. Выполнение триггера инициирует логгирование данных, и тулбокс поддерживает несколько типов триггеров. По умолчанию пример объекта сконфигурирован с помощью немедленного триггера. Дополнительные сведения о настройке триггеров см. в разделе Установка типа триггера.
В разделе 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'