После выполнения глав 3 и 4, вы можете увидеть ваш адаптер, включенный в список адаптеров, возвращенных imaqhwinfo
и можно создать объект входа видео с помощью videoinput
функция. Теперь пришло время получить данные с вашего устройства. В этой главе вы извлекаете заглушки виртуальных функций класса адаптера, которые работают вместе, чтобы получить данные.
В следующем примере показано, как пользователь тулбокса инициирует сбор систем координат изображений. Пример вызывает videoinput
функция для создания объекта входа видео, а затем вызывает start
функция для запуска объекта. Обратите внимание на то, что в сводных данных получены десять систем координат изображения.
vid = videoinput('winvideo'); start(vid); vid Summary of Video Input Object Using 'IBM PC Camera'. Acquisition Source(s): input1 is available. Acquisition Parameters: 'input1' is the current selected source. 10 frames per trigger using the selected source. 'RGB555_128x96' video data to be logged upon START. Grabbing first of every 1 frame(s). Log data to 'memory' on trigger. Trigger Parameters: 1 'immediate' trigger(s) on START. Status: Waiting for START. 10 frames acquired since starting. 10 frames available for GETDATA.
В предыдущем примере start
функция открывает соединение с устройством, но на самом деле не вызывает сбор данных изображений. Тулбокс использует триггеры, чтобы контролировать сбор изображений. По умолчанию объекты входа видео сконфигурированы с немедленным триггером, поэтому, в примере, когда вы запускаете объект, немедленный триггер запускается.
Тулбокс также поддерживает два других типа триггеров: ручной и аппаратный. С помощью триггера вручную, после запуска объекта входа видео, вы должны вызвать trigger
функция для сбора данных. С помощью аппаратных триггеров вы запускаете объект и он ждет, пока он не получит сигнал от внешнего устройства, чтобы начать сбор данных.
Тулбокс обрабатывает немедленное и ручное срабатывание автоматически; вы не должны включать какую-либо специальную обработку в свой адаптер. Поддержка аппаратных триггеров, требует некоторой работы по разработке адаптера. Дополнительные сведения см. в разделе Вспомогательные аппаратные триггеры.
Чистые виртуальные функции в классе адаптера, которые вы должны реализовать, работают вместе, чтобы получить данные. Однако основными шагами являются:
Задайте формат видео, данных в getMaxHeight()
, getMaxWidth()
, getNumberOfBands()
, и getFrameType()
functions - см. Определение формата Изображения Данных.
Откройте соединение с вашим устройством в openDevice()
function - см. «Открытие и закрытие соединения с устройством».
Начните сбор данных в startCapture()
function - см. «Запуск и остановка сбора изображений».
Остановите сбор данных в stopCapture()
function - см. «Запуск и остановка сбора изображений».
Закройте соединение с устройством в closeDevice()
function - см. «Открытие и закрытие соединения с устройством».
Следующая схема показывает этот поток управления в графической форме. Эта схема выбирает, где заканчивается схема в главе 3, после создания объекта - см. «Приобретение Изображения Данных».
Примечание
На схемах не показаны вызовы, которые ваш адаптер выполняет в SDK устройства сбора изображений, поскольку эти вызовы варьируются в зависимости от SDK каждого устройства.
Поток управления между функциями захвата адаптера