Хороший способ получить краткое введение в адаптеры и разработку адаптера путем рассмотрения демонстрационного адаптера, который включен с Набором Адаптера Image Acquisition Toolbox™. Демонстрационный адаптер является функционирующим адаптером, который не требует никакого оборудования. Можно создать демонстрационный адаптер и запустить его, чтобы познакомиться с тем, как работает адаптер.
Демонстрационный адаптер исходные файлы C++ находится в следующей папке:
$MATLAB\toolbox\imaq\imaqadaptors\kit\demo\
В следующей таблице перечислены все файлы в демонстрационной папке в алфавитном порядке с краткими описаниями.
Исходный файл | Описание |
---|---|
| Демонстрационная реализация класса адаптера |
| Демонстрационное определение класса адаптера |
| Реализация класса, который содержит данные о формате устройства |
| Определение класса, который содержит данные о формате устройства |
| Реализация класса, который уведомляет демонстрационный адаптер, когда значение свойства устройства изменяется |
| Определение класса, который уведомляет демонстрационный адаптер, когда значение свойства устройства изменяется |
| Реализация класса, который прислушивается к изменениям в выбранном источнике видеосигнала |
| Определение класса раньше прислушивалось к изменениям в выбранном источнике видеосигнала |
| Реализация класса, который обеспечивает пользовательский |
| Определение класса, который обеспечивает пользовательский |
| Реализация пяти функций, которые должен экспортировать каждый адаптер. |
| Демонстрационная библиотека адаптеров. Это - скомпилированная и соединенная Динамически подключаемая библиотека (DLL), которая реализует демонстрационный адаптер. |
| Заголовочный файл, который задает пять функций, которые должен экспортировать каждый адаптер |
| Демонстрационный файл формирователя изображения адаптера (IMDF), который содержит определения свойства |
| Microsoft® Visual C++® файл проекта для демонстрационного адаптера |
В этом разделе описываются предложенный порядок, в котором необходимо посмотреть на демонстрационные исходные файлы адаптера.
Хорошее место, чтобы начать смотреть на демонстрационный адаптер должно открыть mwdemoimaq.h
файл. Этот файл задает пять функций, которые должен экспортировать каждый адаптер. Механизм тулбокса вызывает эти функции, чтобы получить информацию о поддерживаемом оборудовании, инстанцировать объекта ввода видео и получить данные. Реализация этих функций обычно является первым шагом, который делает средство записи адаптера. Этот заголовочный файл содержит комментарии, которые объясняют цель каждой функции.
После наблюдения определения адаптера экспортировал функции, смотрите, как они реализованы в соответствующем файле реализации C++, mwdemoimaq.cpp
.
После просмотра экспортируемых функций смотрите на определение DemoAdaptor
класс в DemoAdaptor.h
. Класс адаптера является подклассом IAdaptor
класс, который задает виртуальные функции адаптер, должен реализовать. Этот заголовочный файл содержит комментарии, которые объясняют цель каждой функции членства.
После наблюдения определения класса адаптера посмотрите на реализацию класса в DemoAdaptor.cpp
файл. Этот файл содержит функцию потока захвата, которая является основным циклом захвата системы координат. Это - то, где подключения адаптера к устройству и получают фреймы изображения.
Демонстрационная директория содержит другие файлы, которые реализуют дополнительные возможности набора адаптера.
Например, DemoDeviceFormat.h
и соответствующий .cpp
файлы иллюстрируют один способ хранить специфичные для устройства данные о формате с помощью данных об адаптере. Вы задаете класс, который является подклассом IMAQInterface
класс, чтобы содержать информацию. Смотрите Классы Определения, чтобы Содержать Специфичную для устройства информацию для получения дополнительной информации.
DemoPropListener.h
и соответствующий .cpp
файлы и DemoSourceListener.h
и .cpp
файлы иллюстрируют, как ваш адаптер может быть уведомлен, если пользователь изменяет настройки свойства. Смотрите, что Реализация Добирается и Поддержка Набора Device-Specific Properties для получения дополнительной информации.
Можно использовать точки останова отладчика, чтобы исследовать, какие функции адаптера вызваны, когда пользователи вызывают функции тулбокса, такие как imaqhwinfo
, videoinput
запуск
, и stop
. В следующей таблице перечислены места в демонстрационном адаптере, где можно установить точки останова.
MATLAB® Команда | Точка останова |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После ознакомления себя с демонстрационными исходными файлами адаптера создайте демонстрационный адаптер. Существует предварительно созданная версия демонстрационного адаптера в matlabroot/toolbox/imaq/imaqadaptors/kit/demo/$ARCH
. Файл проекта Visual Studio и make-файл создают файл адаптера в подпапке этой папки.
Примечание
Чтобы создать демонстрационный адаптер на Windows, у вас должна быть переменная окружения под названием MATLAB
заданный в вашей системе. Установите значение этой переменной окружения к местоположению вашей директории установки MATLAB.
После создания адаптера необходимо сообщить программному обеспечению Image Acquisition Toolbox о его существовании путем регистрации его с imaqregister
функция. Эта функция говорит тулбокс, где найти сторонние библиотеки адаптеров. Только необходимо указать адаптер однажды. Тулбокс хранит информацию местоположения адаптера в ваших настройках MATLAB.
Примечание
Поскольку информация об адаптере кэшей тулбокса, вы можете должны быть сбросить тулбокс, с помощью imaqreset
, прежде чем недавно зарегистрированный адаптер появляется в imaqhwinfo
листинг.
Например, следующие кодовые регистры демонстрационный адаптер с тулбоксом с помощью imaqregister
функция, где <your_directory>
представляет имя директории, где вы создали демонстрационный адаптер.
imaqregister('<your_directory>\mwdemoimaq.dll');
Запустите MATLAB и вызовите imaqhwinfo
функция. Необходимо смочь видеть демонстрационный адаптер, включенный в адаптеры, перечисленные в InstalledAdaptors
поле . Например, в системе Windows, imaqhwinfo
возвращает следующее.
ans = InstalledAdaptors: {'demo' 'matrox' 'winvideo'} MATLABVersion: '7.12 (R2011a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '4.1 (R2011a)'
Создайте объект ввода видео с демонстрационным адаптером.
vid = videoinput('demo');
Получите предварительный просмотр данных, возвращаемых демонстрационным адаптером с помощью preview
функция. Обратите внимание на то, что демонстрационный адаптер генерирует полутоновый шаблон, чтобы подражать данным, возвращенным действительным устройством получения изображений. Демонстрационный адаптер не связывает с существующим устройством.
preview(vid);
Windows Containing Demo Adaptor Data предварительного просмотра