Определение специфичных для устройства свойств

Вы задаете, какие свойства вашего устройства получения изображений вы хотите представить пользователям тулбокса. Вы делаете это определение путем чтения документации SDK устройства, определения ее возможностей и решения, который пользователи тулбокса возможностей будут ожидать конфигурировать. Если вы решаете представить свойство, задайте следующие характеристики свойства:

  • Имя

  • Тип данных

  • Область значений допустимых (дополнительных) значений

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

Пользовательский сценарий

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

Чтобы просмотреть специфичные для устройства свойства, вы задаете, добираетесь, указатель на источник видеосигнала возражают и используют функцию get. Чтобы установить значение специфичных для устройства свойств, вы задаете, добираетесь, указатель на источник видеосигнала возражают и используют функцию set. Например, этот код создает объект ввода видео и использует функцию getselectedsource, чтобы получить указатель на в настоящее время выбранный объект источника видеосигнала. С этим указателем можно затем использовать команду get, чтобы просмотреть свойства объекта источника видеосигнала.

vid = videoinput('winvideo',1)
src = getselectedsource(vid);
get(src)
General Settings:
    Parent = [1x1 videoinput]
    Selected = on
    SourceName = input1
    Tag = 
    Type = videosource

  Device Specific Properties:
    Brightness = -10
    Contrast = 266
    Exposure = 1024
    ExposureMode = auto
    Hue = 0
    Saturation = 340
    Sharpness = 40

Предложенный алгоритм

Когда пользователь вызывает функцию videoinput, механизм вызывает функцию getDeviceAttributes(), чтобы настроить любые специфичные для устройства свойства, которые вы задали для устройства. Механизм передает несколько аргументов функции getDeviceAttributes() вашего адаптера:

void getDeviceAttributes(const imaqkit::IDeviceInfo* deviceInfo,  
                                         const char* acqFormat, 
                              imaqkit::IPropFactory* devicePropFact, 
                          imaqkit::IVideoSourceInfo* sourceContainer, 
                              imaqkit::ITriggerInfo* hwTriggerInfo)

Аргумент

Тип данных

Описание

deviceInfo

Обработайте к объекту IDeviceInfo

Задает устройство получения изображений

acqformat

Символьный вектор

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

devicePropFact

Обработайте к объекту IPropFactory

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

sourceContainer

Обработайте к объекту IVideoSourceInfo

Задает источники видеосигнала, доступные с этим устройством, описанным в Идентификации Источников видеосигнала

hwTriggerInfo

Обработайте к объекту ITriggerInfo

Задает аппаратные триггеры. Тулбокс обрабатывает другие два триггерных типа (мгновенный и ручной) автоматически.

Алгоритм для getDeviceAttributes() обычно включает эти шаги:

  1. Определите устройство, пользователь хочет установить связь с, заданный ID устройства.

  2. Определите формат, который пользователь хочет использовать с устройством, заданным именем формата (или путь файла камеры). Чтобы получить данные о формате, получите объект IDeviceFormat, сопоставленный с форматом от объекта IDeviceInfo.

  3. Создайте любые специфичные для устройства свойства. Вы создаете объект свойства, соответствующий типу данных свойства, и храните объект свойства в специфичном для устройства контейнере свойства — смотрите Свойства устройства Создания.

  4. Найдите все триггерные настройки поддерживаемыми устройством и храните информацию в объекте ITriggerInfo — смотрите Аппаратные Триггеры Поддержки.

Существует несколько способов, которыми ваш адаптер может определить это свойство, источник, и инициировать информацию:

  • Путем запроса SDK устройства во времени выполнения

  • Путем чтения информаций из файла устройств обработки изображений (IMDF). Если вы знаете информацию об устройстве заранее, можно сохранить ее в файле IMDF с помощью основанного на XML языка разметки. В этом разделе описывается считать информации из файла IMDF. Чтобы изучить, как создать файл IMDF, смотрите Используя Язык разметки IMDF.

  • Смесь обоих методов.