Чтобы подключиться к устройству получения изображения из MATLAB ®, необходимо создать объект ввода видео. Этот объект представляет соединение между MATLAB и устройством. Свойства объекта можно использовать для управления различными аспектами сбора данных. Перед созданием объекта необходимо получить несколько сведений об устройстве, к которому требуется подключиться.
Чтобы получить доступ к устройству получения изображения, инструментарий нуждается в нескольких частях информации:
Имя адаптера, используемого панелью инструментов для подключения к устройству получения изображения
Идентификатор устройства, к которому требуется получить доступ
Видеоформат видеопотока или, необязательно, файл конфигурации устройства (файл камеры)
Вы используете imaqhwinfo для получения этой информации, как описано в следующих подразделах.
Примечание
При использовании imaqhwinfo для получения информации об устройстве, особенно устройствах, использующих драйвер Video for Windows ® (VFW), могут возникнуть диалоговые окна с сообщением об ошибке утверждения. Убедитесь, что драйверы программного обеспечения установлены правильно и устройство сбора данных подключено к компьютеру .
Адаптер - это программное обеспечение, используемое панелью инструментов для связи с устройством получения изображения через его драйвер устройства. Инструментарий включает в себя адаптеры для некоторых поставщиков оборудования для получения изображений и для конкретных классов устройств для получения изображений. Для получения последней информации о поддерживаемом оборудовании посетите страницу продукта Image Acquisition Toolbox™ на веб-сайте MathWorks (www.mathworks.com/products/image-acquisition).
Чтобы определить, какие адаптеры доступны в системе, вызовите imaqhwinfo функция. 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 адаптера |
| Имя адаптера |
| Массив ячеек, содержащий идентификаторы всех устройств, доступных через этот адаптер |
| Массив информационных структур устройства. Дополнительные сведения см. в разделе Получение дополнительной информации об определенном устройстве. |
Если адаптер предоставляет доступ к нескольким устройствам, может потребоваться дополнительная информация об устройствах, прежде чем можно будет выбрать идентификатор устройства. 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 | Синтаксис по умолчанию, который можно использовать для создания объекта VideyDevice 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} DefaultFormat В поле указан формат по умолчанию, выбранный панелью инструментов. 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