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