Вы задаете, какие свойства вашего устройства получения изображений вы хотите представить пользователям тулбокса. Вы делаете это определение путем чтения документации 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)
Аргумент | Тип данных | Описание |
---|---|---|
| Обработайте к объекту | Задает устройство получения изображений |
| Символьный вектор | Задает формат видео или путь к файлу конфигурации устройства |
| Обработайте к объекту | Обеспечивает функции членства раньше создавали свойства |
| Обработайте к объекту | Задает источники видеосигнала, доступные с этим устройством, описанным в Идентификации Источников видеосигнала |
| Обработайте к объекту | Задает аппаратные триггеры. Тулбокс обрабатывает другие два триггерных типа (мгновенный и ручной) автоматически. |
Алгоритм для getDeviceAttributes()
обычно включает эти шаги:
Определите устройство, пользователь хочет установить связь с, заданный ID устройства.
Определите формат, который пользователь хочет использовать с устройством, заданным именем формата (или путь файла камеры). Чтобы получить данные о формате, получите объект IDeviceFormat
, сопоставленный с форматом от объекта IDeviceInfo
.
Создайте любые специфичные для устройства свойства. Вы создаете объект свойства, соответствующий типу данных свойства, и храните объект свойства в специфичном для устройства контейнере свойства — смотрите Свойства устройства Создания.
Найдите все триггерные настройки поддерживаемыми устройством и храните информацию в объекте ITriggerInfo
— смотрите Аппаратные Триггеры Поддержки.
Существует несколько способов, которыми ваш адаптер может определить это свойство, источник, и инициировать информацию:
Путем запроса SDK устройства во времени выполнения
Путем чтения информаций из файла устройств обработки изображений (IMDF). Если вы знаете информацию об устройстве заранее, можно сохранить ее в файле IMDF с помощью основанного на XML языка разметки. В этом разделе описывается считать информации из файла IMDF. Чтобы изучить, как создать файл IMDF, смотрите Используя Язык разметки IMDF.
Смесь обоих методов.