В этом примере показано, как использовать блок Image Statistics, чтобы выполнить измерение мультизоны, чтобы извлечь видимую область (ROI).
Существуют многочисленные приложения, где входное видео разделено на несколько зон, и статистическая величина затем вычисляется по каждой зоне. Например, много алгоритмов автовоздействия вычисляют различие в средней интенсивности между зонами. Это позволяет контроллеру затвора логику, чтобы определить, недоэкспонируется ли изображение (в целом низкое освещение), правильно отсоединено (универсальное освещение) или переэкспонировано (один или несколько ROI имеют большее среднее значение).
Систему MultizoneMeteringHDL.slx показывают ниже.
Зеленый и красные линии представляют обработку полной системы координат и обработку пиксельного потока, соответственно. Цветовое различие указывает на изменение в уровне изображений на ветви потоковой передачи модели. Этот переход уровня состоит в том, потому что пиксельный поток отослан в то же самом значении времени как полные видеокадры, и поэтому это передается на более высоком уровне.
В этом примере подсистема экстракции ROI Пиксельного Потока вычисляет среднее значение интенсивности более чем 12 предопределенных ROI в системе координат и выводит индекс (1-12), который соответствует самому освещенному ROI. Нисходящая подсистема Выбора Маски принимает этот индекс и выводит связанный бинарный рисунок маски. Бинарный рисунок маски применяется к исходному видео, чтобы отобразить только самый освещенный ROI и маску от других 11 ROI. Блок Delay в верхнем уровне модели используется, чтобы совпадать с задержкой, введенной обработкой пиксельного потока.
Одну систему координат исходного изображения, бинарного рисунка маски, и ROI выход, показывают слева направо в схеме ниже.
Можно сгенерировать HDL-код от подсистемы Экстракции ROI Пиксельного Потока.
Формат видео составляет 240 пунктов. Каждая система координат состоит из 240 линий и 320 пикселей на строку. В этом примере видеокадры разделены на 12 неперекрывающихся прямоугольных ROI, обозначенных как ROI номер 1 - 12, как показано в схеме ниже. Каждый ROI включает один ключ входного изображения клавиатуры.
ROI номер 1 имеет 107 пикселей шириной и 60 пикселей высотой, и (x, y), координата его верхнего левого пикселя (1,1). ROI номер 2 имеет 107 пикселей шириной и 60 пикселей высотой, и координата его левого верхнего пикселя (108,1) и так далее. Первая система координат входного видео имеет более яркие пиксели в ROI номер 1, как показано выше. Вторая система координат имеет более яркие пиксели в ROI номер 2 и так далее.
Система координат К Пикселям преобразует изображение полной системы координат в пиксельный поток. Чтобы симулировать эффект горизонтальных и вертикальных времен гашения обратного хода, найденных в реальных аппаратных системах видео, активное изображение увеличивается с неданными изображения. Для получения дополнительной информации о пиксельном протоколе потоковой передачи смотрите Пиксельный Интерфейс Потоковой передачи. Блок Frame To Pixels сконфигурирован как показано:
Номер поля компонентов определяется к 1 для входа полутонового изображения, и поле Формата видео составляет 240 пунктов, чтобы совпадать с тем из источника видеосигнала.
В этом примере Активная Видео область соответствует 240x320 матрица исходного изображения. Шесть других параметров, а именно, Общие пиксели на строку, Общие видео линии, Запуская активную линию, Заканчивая активную линию, Передний подъезд и Заднее крыльцо задают, сколько неданных изображения будет увеличено на четырех сторонах Активного Видео. Для получения дополнительной информации смотрите страницу с описанием блока Frame To Pixels.
Обратите внимание на то, что шаг расчета Источника видеосигнала определяется продуктом Общих пикселей на строку и Общих видео линий.
Подсистема Экстракции ROI Пиксельного Потока содержит две подсистемы, а именно, Мультизональное Измерение и Индексатор ROI.
Подсистема Измерения Мультизоны вычисляет среднее значение интенсивности по 12 предопределенным ROI. Получившиеся 12 средних значений передаются нисходящей подсистеме Индексатора ROI. Выходные параметры ROI Indexer индекс (1-12) ROI, который имеет максимальное среднее значение интенсивности (или эквивалентно, самый освещенный ROI) среди этих 12 кандидатов.
Структуру подсистемы Измерения Мультизоны показывают в схеме ниже.
Подсистема Измерения Мультизоны содержит 12 идентичных подсистем ROIStatistic. Каждый экземпляр ROIStatistic вычисляет среднее значение интенсивности по одному ROI. Все 12 подсистем ROIStatistic берут пиксель и ctrl как их первые два входных параметров. Остающиеся четыре входных параметров задают, какой ROI эта подсистема продолжает работать, и они отличаются от одной подсистемы до другого. Например, подсистема ROIStaticstic1 фокусируется на ROI номер 1 путем принятия (x, y) координата левого верхнего пикселя (1,1), ширина ROI 107, и высота 60. Точно так же подсистема ROIStaticstic12 фокусируется на ROI номер 12, чей (x, y) координата левого верхнего пикселя (215,181), и чья ширина и высота равняются 106 и 60, соответственно.
ROIStatistic1 - подсистемы ROIStatistic12 совместно используют ту же структуру, показанную ниже.
Это содержит подсистему ROI, сопровождаемую блоком Image Statistics. Подсистема ROI управляет управляющим сигналом исходного 240p изображения и создает управляющие сигналы, сопоставленные только с ROI, заданным (x, y) пара, ROIWidth и ROIHeight.
Структуру подсистемы Выбора Маски показывают ниже.
Двенадцать рисунков маски доступны, соответствуя 12 различным ROI. Эти шаблоны маски показываются BM {1} к BM {12} в вышеупомянутой схеме. Когда вы открываете модель, модель загружает предопределенный массив ячеек BM в рабочую область. Маски являются бинарными изображениями с форматом видео на 240 пунктов. Для маски BM {n} (n=1,2..., 12), ROI номер n заполнен (белыми) пикселями логической единицы, и все другие 11 ROI заполнены (черными) пикселями логического ноля. На основе входа индекса (1-12), подсистема Выбора Маски выводит связанный бинарный рисунок маски.
Проверять и сгенерировать HDL-код сослались в этом примере, у вас должна быть лицензия HDL Coder™.
Чтобы сгенерировать HDL-код, используйте следующую команду.
makehdl('MultizoneMeteringHDL/Pixel-Stream ROI Extraction')
Чтобы сгенерировать испытательный стенд, используйте следующую команду. Обратите внимание на то, что генерация испытательного стенда занимает много времени из-за большого размера данных. Можно хотеть уменьшать время симуляции прежде, чем сгенерировать испытательный стенд.
makehdltb('MultizoneMeteringHDL/Pixel-Stream ROI Extraction')