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

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

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

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

Эта модель импортирует пиксельные данные и управляющие сигналы в формате Ссылки Камеры от рабочего пространства MATLAB. CameraLink_InvertImage подсистема спроектирована для интегрирования в существующие системы, которые используют протокол Ссылки Камеры. CameraLink_InvertImage подсистема преобразует управляющие сигналы от формата Ссылки Камеры до pixelcontrol формат, изменяет пиксельные данные с помощью блока Lookup Table, и затем преобразует управляющие сигналы назад в формат Ссылки Камеры. Модель экспортирует получившиеся данные и управляющие сигналы к переменным рабочей области.

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

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

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

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

Импортируйте данные, при закрытых дверях соединяют формат

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

  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 Формат

Запишите пользовательский Системный объект, чтобы преобразовать сигналы Ссылки Камеры в формат Vision HDL Toolbox. Этот пример использует объект, спроектированный в Сигналах Управления камерой Преобразования к pixelcontrol примеру Формата.

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

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

Спроектируйте алгоритм Vision HDL Toolbox

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

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

Преобразуйте pixelcontrol в Ссылку Камеры

Запишите пользовательский Системный объект, чтобы преобразовать сигналы Vision HDL Toolbox назад в формат Ссылки Камеры. Этот пример использует объект, спроектированный в Сигналах Управления камерой Преобразования к pixelcontrol примеру Формата.

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

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

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

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

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

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

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

Чтобы сгенерировать HDL-код, у вас должна быть лицензия HDL Coder™.

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

  makehdl('CameraLinkAdapterEx/CameraLink_InvertImage')

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

Похожие темы