Получение аппаратной информации

Получение аппаратной информации

Подключение к устройству сбора изображений из 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 предоставить следующую информацию.

Область

Описание

AdaptorDllName

Вектор символов, который идентифицирует имя библиотеки динамических ссылок (DLL) адаптера

AdaptorDllVersion

Информация о версии DLL адаптера

AdaptorName

Имя адаптера

DeviceIDs

Массив ячеек, содержащий идентификаторы устройств всех устройств, доступных через этот адаптер

DeviceInfo

Массив информационных структур устройства. Дополнительные сведения см. в разделе Получение дополнительной информации о конкретном устройстве.

Получение дополнительной информации о конкретном устройстве

Если адаптер предоставляет доступ к нескольким устройствам, вам, возможно, перед выбором идентификатора устройства потребуется узнать больше об устройствах. 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}

Поля в информационной структуре устройства обеспечивают следующую информацию об устройстве.

Область

Описание

DefaultFormat

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

DeviceFileSupported

Если установлено значение 1, устройство поддерживает файлы строения устройства; в противном случае 0. Дополнительные сведения см. в разделе Использование файлов строении устройства (файлы камеры).

DeviceName

Описательный вектор символов, назначенный адаптером, который идентифицирует устройство

DeviceID

Идентификатор, присвоенный устройству адаптером

VideoInputConstructor

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

VideoDeviceConstructorСинтаксис по умолчанию, который можно использовать, чтобы создать объект VideoDevice System для представления этого устройства.

SupportedFormats

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

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

Формат видео задает характеристики изображений в видеопотоке, такие как разрешение изображения (ширина и высота), используемый промышленный стандарт и размер типа данных, используемых для хранения пиксельной информации.

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

Примечание

Установка формата видео опциональна; тулбокс использует один из поддерживаемых форматов по умолчанию.

Чтобы определить, какие форматы видео поддерживает устройство сбора изображений, смотрите в 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