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

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

Чтобы соединиться с устройством получения изображений из MATLAB®, необходимо создать объект ввода видео. Этот объект представляет связь между MATLAB и устройством. Можно использовать свойства объектов, чтобы управлять различными аспектами приобретения. Прежде чем можно будет создать объект, вам нужны несколько данных об устройстве, к которому вы хотите соединить.

Чтобы получить доступ к устройству получения изображений, тулбокс нуждается в нескольких данных:

  • Имя адаптера использование тулбокса, чтобы соединиться с устройством получения изображений

  • ID устройства устройства вы хотите получить доступ

  • Формат видео видеопотока или, опционально, файл конфигурации устройства (файл камеры)

Вы используете функцию imaqhwinfo, чтобы получить эту информацию, как описано в следующих подразделах.

Примечание

При использовании imaqhwinfo, чтобы получить информацию об устройстве, особенно устройствах, которые используют Видео для Windows® (VfW) драйвер, вы можете столкнуться с диалоговыми окнами, сообщив об ошибке утверждения. Убедитесь, что программные драйверы установлены правильно и что устройство приобретения соединяется к компьютеру.

Определение имени адаптера устройства

Адаптер является программным обеспечением использование тулбокса, чтобы связаться с устройством получения изображений с помощью его драйвера устройства. Тулбокс включает адаптеры для некоторых поставщиков оборудования получения изображений и для конкретных классов устройств получения изображений. Для последней информации о поддерживаемом оборудовании посетите страницу продукта Image Acquisition Toolbox™ на веб-сайте MathWorks (www.mathworks.com/products/imaq).

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

Определение ID устройства

Адаптер присваивает уникальный номер каждому устройству, с которым он может связаться. Адаптер присваивает первое устройство, это обнаруживает устройство ID 1, второе, это обнаруживает устройство ID 2 и так далее.

Чтобы найти ID устройства конкретного устройства получения изображений, вызовите функцию 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

Массив структур информации об устройстве. Смотрите Получение Большей информации О Конкретном Устройстве для получения дополнительной информации.

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

Если адаптер обеспечивает доступ к нескольким устройствам, вы можете должны быть узнать больше информации об устройствах, прежде чем можно будет выбрать ID устройства. Поле DeviceInfo является массивом структур информации об устройстве. Каждая структура информации об устройстве содержит подробную информацию о конкретном устройстве, доступном через адаптер.

Чтобы просмотреть информацию для конкретного устройства, можно использовать ID устройства в качестве ссылки в массив структур DeviceInfo. Вызовите imaqhwinfo снова, на этот раз задав ID устройства в качестве аргумента.

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

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

VideoInputConstructor

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

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

SupportedFormats

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

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

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

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

Примечание

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

Чтобы определить, который поддерживают форматы видео устройство получения изображений, посмотрите в поле SupportedFormats структуры DeviceInfo, возвращенной функцией imaqhwinfo. Чтобы просмотреть информацию для конкретного устройства, вызовите imaqhwinfo, задав ID устройства в качестве аргумента.

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}

Cписки полей 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