Получение данных

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

Тулбокс обрабатывает немедленное и ручное срабатывание автоматически; вы не должны включать какую-либо специальную обработку в свой адаптер. Поддержка аппаратных триггеров, требует некоторой работы по разработке адаптера. Дополнительные сведения см. в разделе Вспомогательные аппаратные триггеры.

Обзор виртуальных функций, используемых для сбора данных

Чистые виртуальные функции в классе адаптера, которые вы должны реализовать, работают вместе, чтобы получить данные. Однако основными шагами являются:

  1. Задайте формат видео, данных в getMaxHeight(), getMaxWidth(), getNumberOfBands(), и getFrameType() functions - см. Определение формата Изображения Данных.

  2. Откройте соединение с вашим устройством в openDevice() function - см. «Открытие и закрытие соединения с устройством».

  3. Начните сбор данных в startCapture() function - см. «Запуск и остановка сбора изображений».

  4. Остановите сбор данных в stopCapture() function - см. «Запуск и остановка сбора изображений».

  5. Закройте соединение с устройством в closeDevice() function - см. «Открытие и закрытие соединения с устройством».

Следующая схема показывает этот поток управления в графической форме. Эта схема выбирает, где заканчивается схема в главе 3, после создания объекта - см. «Приобретение Изображения Данных».

Примечание

На схемах не показаны вызовы, которые ваш адаптер выполняет в SDK устройства сбора изображений, поскольку эти вызовы варьируются в зависимости от SDK каждого устройства.

Поток управления между функциями захвата адаптера