Интеграция блоков Vision HDL с Camera Link

В этом примере показано, как разработать алгоритм Vision HDL Toolbox™ для интегрирования в существующую систему, которая использует протокол сигнала Camera Link ®.

Блоки Vision HDL Toolbox используют пользовательский формат потокового видео. Если вы интегрируете алгоритмы Vision HDL Toolbox в существующий проект и верификации, который работает в другом формате потокового видео, необходимо преобразовать управляющие сигналы на контурах. Пример использует пользовательские системные объекты, чтобы преобразовать сигналы управления между форматом Camera Link и Vision HDL Toolbox pixelcontrol формат. Модель импортирует системные объекты в Simulink ® с помощью блока MATLAB ® System.

Структура модели

Эта модель импортирует пиксельные данные и сигналы управления в формате Camera Link из рабочего пространства MATLAB. The CameraLink_InvertImage Подсистема предназначена для интегрирования в существующие системы, использующие протокол Camera Link. The CameraLink_InvertImage подсистема преобразует сигналы управления из формата Camera Link в pixelcontrol формат, изменяет пиксельные данные с помощью блока Интерполяционная таблица, а затем преобразует управляющие сигналы обратно в формат Camera Link. Модель экспортирует полученные данные и сигналы управления в переменные рабочей области.

Структура Подсистемы

The CameraLink2VHT и VHT2CameraLink блоки являются системными блоками MATLAB, которые указывают на пользовательские системные объекты. Объекты преобразуются между сигналами Camera Link и pixelcontrol формат, используемый блоками и объектами Vision HDL Toolbox.

Можно поместить любую комбинацию блоков Vision HDL Toolbox в середину подсистемы. Этот пример использует Интерполяционную таблицу инверсии.

Можно сгенерировать HDL из этой подсистемы.

Импорт данных в формат Ссылка

Camera Link состоит из трех сигналов управления: F указывает на допустимую систему координат, L указывает на каждую допустимую линию, и D указывает на каждый действительный пиксель. В данном примере входные данные и сигналы управления определены в InitFcn коллбэк. Векторы описывают эту 8-битную полутоновую систему координат 2 на 3. На рисунке активная область изображения находится в штриховом прямоугольнике, и неактивные пиксели окружают его. Пиксели маркируются своими значениями в градациях серого.

  FIn = logical([0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0]);
  LIn = logical([0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0]);
  DIn = logical([0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0]);
  pixIn = uint8([0,0,0,0,0,0,0,30,60,90,0,0,0,120,150,180,0,0,0,0,0,0,0,0]);

Преобразуйте управляющие сигналы Ссылка в формат pixelcontrol

Написание пользовательского системного объекта для преобразования сигналов Camera Link в формат Vision HDL Toolbox. В этом примере используется объект, разработанный в примере Преобразования сигналов управления камерой в pixelcontrol Format.

Объект преобразует сигналы управления, а затем создает структуру, которая содержит новые сигналы управления. Когда объект включен в системный блок MATLAB, блок переводит эту структуру в формат шины, ожидаемый блоками Vision HDL Toolbox. Полный код для Системного объекта см. в разделе CAMERALINKtoVHT_Adapter.m.

Создайте блок MATLAB System и наведите его на системный объект.

Проектирование алгоритма Vision HDL Toolbox

Выберите блоки Vision HDL Toolbox, чтобы обработать видеопоток. Эти блоки принимают и возвращают скалярное значение пикселя и pixelcontrol шина, которая содержит соответствующие сигналы управления. Этот стандартный интерфейс облегчает соединение блоков из библиотек Vision HDL Toolbox вместе.

Этот пример использует блок Интерполяционная таблица, чтобы инвертировать каждый пиксель в тестовом изображении. Установите данные таблицы в противоположное значение uint8 цветовое пространство в полутоновом цвете.

Преобразуйте пиксельконтроль в Camera Link

Напишите пользовательский системный объект, чтобы преобразовать сигналы Vision HDL Toolbox обратно в формат Camera Link. В этом примере используется объект, разработанный в примере Преобразования сигналов управления камерой в pixelcontrol Format.

Объект принимает структуру управляющих сигналов. Когда вы включаете объект в блок MATLAB System, блок переводит вход pixelcontrol шина в эту структуру. Затем вычисляет эквивалентные сигналы Camera Link. Полный код для Системного объекта см. в разделе VHTtoCAMERALINKAdapter.m.

Создайте второй блок MATLAB System и наведите его на системный объект.

Посмотреть Результаты

Запустите симуляцию. Получившиеся векторы представляют эту инвертированную 2 на 3, 8-битную полутоновую систему координат. На рисунке активная область изображения находится в штриховом прямоугольнике, и неактивные пиксели окружают его. Пиксели маркируются своими значениями в градациях серого.

Если у вас есть лицензия DSP System Toolbox™, вы можете просматривать сигналы с течением времени с помощью Logic Analyzer. Выберите все сигналы в CameraLink_InvertImage и откройте Logic Analyzer. Эта форма волны показывает входные и выходные управляющие сигналы Camera Link и значения пикселей в верхней части, а также вход и выход блока Интерполяционная таблица в pixelcontrol формат внизу. The pixelcontrol шины расширяются, чтобы наблюдать логические сигналы управления.

Для получения дополнительной информации о наблюдении форм волны в Simulink, смотрите Просмотр и измерение переходов с помощью Logic Analyzer (DSP System Toolbox).

Сгенерируйте HDL-код для подсистемы

Для генерации HDL-кода необходимо иметь лицензию HDL- Coder™.

Чтобы сгенерировать HDL-код, используйте следующую команду.

  makehdl('CameraLinkAdapterEx/CameraLink_InvertImage')

Теперь можно моделировать и синтезировать эти HDL- файлов вместе с существующей системой Ссылки фотоаппарата.

Похожие темы