Хороший способ получить краткое введение в адаптеры и разработку адаптера путем рассмотрения демонстрационного адаптера, который включен с Набором Адаптера 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
, start
и stop
. В следующей таблице перечислены места в демонстрационном адаптере, где можно установить точки останова.
MATLAB® Command | Точка останова |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После ознакомления себя с демонстрационными исходными файлами адаптера создайте демонстрационный адаптер. Существует предварительно созданная версия демонстрационного адаптера в 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 предварительного просмотра