Подключение к устройству сбора изображений из MATLAB®необходимо создать объект входа видео. Этот объект представляет соединение между MATLAB и устройством. Можно использовать свойства объекта для управления различными аспектами приобретения. Прежде чем вы сможете создать объект, вам понадобится несколько фрагментов информации об устройстве, к которому вы хотите подключиться.
Чтобы получить доступ к устройству сбора изображений, тулбоксу нужно несколько частей информации:
Имя адаптера, используемый тулбоксом для подключения к устройству сбора изображений
Идентификатор устройства, к которому вы хотите получить доступ
Формат видео видеопотока или, опционально, файла строения устройства (файл камеры)
Вы используете imaqhwinfo
функция для извлечения этой информации, как описано в следующих подразделах.
Примечание
При использовании imaqhwinfo
получить информацию об устройстве, особенно об устройствах, использующих Video для Windows® (VFW) драйвер, вы можете столкнуться с диалоговыми окнами, сообщающими об ошибке проверки типа «assertion». Убедитесь, что драйверы программного обеспечения установлены правильно и устройство сбора подключено к компьютеру.
Адаптер является программным обеспечением, используемым тулбоксом для связи с устройством сбора изображений через его драйвер устройства. Тулбокс включает адаптеры для некоторых продавцов оборудования для сбора изображений и для конкретных классов устройств для сбора изображений. Для получения последней информации о поддерживаемом оборудовании посетите страницу Image Acquisition Toolbox™ product на веб-сайте MathWorks (www.mathworks.com/products/image-acquisition
).
Чтобы определить, какие адаптеры доступны в вашей системе, вызовите imaqhwinfo
функция. The imaqhwinfo
функция возвращает информацию о программном обеспечении тулбокса и приводит список адаптеров, доступных в системе, в InstalledAdaptors
поле. В этом примере в системе доступны два адаптера.
imaqhwinfo ans = InstalledAdaptors: {'matrox' 'winvideo'} MATLABVersion: '7.4 (R2007a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '2.1 (R2007a)'
Примечание
В то время как каждый адаптер, поддерживаемый программным обеспечением Image Acquisition Toolbox™, установлен с помощью тулбокса, imaqhwinfo
перечисляет только адаптеры в InstalledAdaptors
поле, которое можно загрузить. То есть в системе установлены драйверы устройств, требуемые поставщиком. Однако обратите внимание, что включение в InstalledAdaptors
поле не обязательно означает, что адаптер соединяется с устройством.
Адаптер присваивает уникальный номер каждому устройству, с которым он может общаться. Адаптер назначает первое устройство, которое обнаруживает идентификатор 1 устройства, второе - идентификатор 2 устройства и так далее.
Чтобы найти идентификатор устройства конкретного устройства сбора изображений, вызовите imaqhwinfo
функция, задающая имя адаптера как единственный аргумент. При вызове с этим синтаксисом imaqhwinfo
возвращает структуру, содержащую информацию обо всех устройствах, доступных через указанный адаптер.
В этом примере imaqhwinfo
функция возвращает информацию обо всех устройствах, доступных через Matrox® адаптер.
info = imaqhwinfo('matrox'); info = AdaptorDllName: [1x73 char] AdaptorDllVersion: '2.1 (R2007a)' AdaptorName: 'matrox' DeviceIDs: {[1]} DeviceInfo: [1x1 struct]
Поля в структуре, возвращенные по imaqhwinfo
предоставить следующую информацию.
Область | Описание |
---|---|
| Вектор символов, который идентифицирует имя библиотеки динамических ссылок (DLL) адаптера |
| Информация о версии DLL адаптера |
| Имя адаптера |
| Массив ячеек, содержащий идентификаторы устройств всех устройств, доступных через этот адаптер |
| Массив информационных структур устройства. Дополнительные сведения см. в разделе Получение дополнительной информации о конкретном устройстве. |
Если адаптер предоставляет доступ к нескольким устройствам, вам, возможно, перед выбором идентификатора устройства потребуется узнать больше об устройствах. The DeviceInfo
поле является массивом информационных структур устройства. Каждая информационная структура устройства содержит подробную информацию о конкретном устройстве, доступном через адаптер.
Чтобы просмотреть информацию о конкретном устройстве, можно использовать идентификатор устройства в качестве ссылки в DeviceInfo
массив структур. Функции imaqhwinfo
снова на этот раз указание идентификатора устройства в качестве аргумента.
dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1 DeviceName: 'Orion' DeviceID: 1 VideoInputConstructor: 'videoinput('matrox', 1)' VideoDeviceConstructor: 'imaq.VideoDevice('matrox', 1)' SupportedFormats: {1x10 cell}
Поля в информационной структуре устройства обеспечивают следующую информацию об устройстве.
Область | Описание |
---|---|
| Вектор символов, который идентифицирует формат видео, используемый устройством, если он не задан во время создания объекта |
| Если установлено значение 1, устройство поддерживает файлы строения устройства; в противном случае 0. Дополнительные сведения см. в разделе Использование файлов строении устройства (файлы камеры). |
| Описательный вектор символов, назначенный адаптером, который идентифицирует устройство |
| Идентификатор, присвоенный устройству адаптером |
| Синтаксис по умолчанию, который вы можете использовать, чтобы создать объект входа видео для представления этого устройства. Дополнительные сведения см. в разделе Создание объектов сбора изображений. |
VideoDeviceConstructor | Синтаксис по умолчанию, который можно использовать, чтобы создать объект VideoDevice System для представления этого устройства. |
| Массив ячеек из символьных векторов, которые идентифицируют видео форматы, поддерживаемые устройством. Дополнительные сведения см. в разделе Определение поддерживаемых форматов видео. |
Формат видео задает характеристики изображений в видеопотоке, такие как разрешение изображения (ширина и высота), используемый промышленный стандарт и размер типа данных, используемых для хранения пиксельной информации.
Устройства для сбора изображений обычно поддерживают несколько видео форматов. Вы можете задать формат видео при создании объекта входа видео, чтобы представлять соединение с устройством. Дополнительные сведения см. в разделе Создание объектов сбора изображений.
Примечание
Установка формата видео опциональна; тулбокс использует один из поддерживаемых форматов по умолчанию.
Чтобы определить, какие форматы видео поддерживает устройство сбора изображений, смотрите в SupportedFormats
поле DeviceInfo
структура, возвращенная imaqhwinfo
функция. Чтобы просмотреть информацию для конкретного устройства, вызовите imaqhwinfo
, указание идентификатора устройства в качестве аргумента.
dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1 DeviceName: 'Orion' DeviceID: 1 VideoInputConstructor: 'videoinput('matrox', 1)' VideoDeviceConstructor: 'imaq.VideoDevice('matrox', 1)' SupportedFormats: {1x10 cell}
The DefaultFormat
в поле указывается формат по умолчанию, выбранный тулбоксом. The SupportedFormats
поле является массивом ячеек, содержащим векторы символов, которые идентифицируют все поддерживаемые форматы видео. Тулбокс присваивает имена форматам на основе специфической для поставщика терминологии. Если вы хотите задать формат видео при создании объекта сбора изображений, необходимо использовать один из векторов символов в этом массиве ячеек. Дополнительные сведения см. в разделе Создание объектов сбора изображений.
celldisp(dev_info.SupportedFormats) ans{1} = M_RS170 ans{2} = M_RS170_VIA_RGB ans{3} = M_CCIR ans{4} = M_CCIR_VIA_RGB ans{5} = M_NTSC ans{6} = M_NTSC_RGB ans{7} = M_NTSC_YC ans{8} = M_PAL ans{9} = M_PAL_RGB ans{10} = M_PAL_YC