ROI Selector

Выберите видимую область (ROI) из потока пикселей

  • Библиотека:
  • Vision HDL Toolbox/Утилиты

  • ROI Selector block

Описание

Блок ROI Selector выбирает фрагмент активной системы координат из видеопотока. Размер неактивной системы координат остается неизменным. Выходные сигналы управления указывают на новую активную область системы координат. Можно использовать этот блок со скалярным, мультипиксельным или мультипиксельным пиксельным потоком. Эта схема показывает неактивные пиксельные области в синем цвете и требуемую выходную область в оранжевом цвете.

Specified region of the input frame returned as a pixel stream with pixels outside of the region marked as inactive.

Можно задать фиксированный размер и местоположение информации только для чтения или динамически выбрать местоположение области при помощи входа порта. Можно выбрать несколько областей. Задайте каждую область путем определения ее координат и размерностей в левом верхнем углу. По умолчанию блок возвращает по одному набору пикселей и управляющих сигналов для каждой заданной области. Блок устанавливает неактивные пиксели в выход системы координат в нуль.

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

Three regions (one partially falling outside of the active frame, and one overlapping another), returned as three pixel streams.

Блок также обеспечивает режим для вертикального повторного использования. В этом режиме необходимо задать области, которые не имеют вертикального перекрытия и выровнены по столбцам. Каждый столбец областей имеет один выходной поток пикселей. Управляющие сигналы определяют каждую область в потоке. Эта схема позволяет проводить параллельную обработку каждого столбца и повторно использовать логику последующей обработки для каждой области в столбце. Чтобы использовать этот режим, выберите параметр Reuse output ports for vertically aligned regions. Используйте visionhdlframetoregions функция для разделения системы координат на мозаичные области для вертикального повторного использования.

Eight tiled regions returned as two output pixel streams that each contain four vertically-aligned regions.

Порты

На этом изображении показаны дополнительные порты блока, когда вы конфигурируете три необходимые области из входа портов.

ROI Selector block with optional ports.

Этот блок использует интерфейс потокового пикселя с шиной для сигналов управления системой координат. Этот интерфейс позволяет блоку работать независимо от размера и формата изображения. Порты pixel на этом блоке поддерживают потоковую передачу с одним пикселем или многопиксельную потоковую передачу. Потоковая передача с одним пикселем принимает и возвращает одно значение пикселя каждый такт. Мультипиксельная потоковая передача принимает и возвращает 4 или 8 пикселей за тактовый цикл для поддержки форматов с высокой частотой кадров или с высоким разрешением. Вместе с пикселем блок принимает и возвращает pixelcontrol шина, которая содержит пять управляющих сигналов. Сигналы управления указывают валидность каждого пикселя и их местоположение в системе координат. Для многопиксельной потоковой передачи один набор управляющих сигналов применяется ко всем четырем или восьми пикселям в векторе. Чтобы преобразовать систему координат (пиксельную матрицу) в последовательный поток пикселей и сигналы управления, используйте блок Frame To Pixels. Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.

Этот блок также поддерживает мультипиксельные многокомпонентные потоки, где пиксельный вход является матрицей значений M-на-N, где M - количество пикселей, а N - количество компонентов. Эти значения соответствуют Number of pixels и Number of components параметрам блока Frame To Pixels.

Вход

расширить все

Для скалярных потоков пикселей задайте pixel как скаляр или вектор с 1-байт- Number of components значениями. Для многопиксельных потоков задайте pixel как матрицу с Number of pixels -by Number of components значениями интенсивности пикселя .

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: fixed point | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | double | single

The pixelcontrol шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположение в системе координат. Для получения дополнительной информации смотрите Pixel Control Bus.

Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Типы данных: bus

Необходимая область, заданная как вектор-строка из четырех положительных целых чисел, которые задают координаты верхнего левого угла и размерности каждой желаемой выходной системы координат. Вектор должен иметь форму [hPos vPos hSize vSize] . Блок имеет R порта области, где R является Number of regions значением параметров.

Для многопиксельной потоковой передачи области должны соответствовать этим условиям, где M Number of pixels.

  • mod(hPos, M) = 1 - Например, если ваш поток пикселей имеет четыре пикселя за цикл, 129 является допустимым значением hPos (mod(129,4) = 1), в то время как 128 недопустимо (mod(128,4) = 0).

  • mod(hSize, M) = 0 - Например, если ваш поток пикселей имеет четыре пикселя за цикл, 120 является допустимым hSize (mod(120,4) = 0), в то время как 118 недопустимо (mod(118,4) = 2).

Зависимости

Чтобы включить этот порт, очистите параметр Reuse output ports for vertically aligned regions и установите параметр Regions source равным Input port.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выход

расширить все

Выходной пиксель, возвращенный как скалярный или мультипиксельный поток. Размерности выхода и тип данных совпадают с размерностями порта входа pixel. По умолчанию блок имеет R выходных pixel портов, где R является параметром Number of regions или количеством строк в матрице параметров Regions.

Когда вы выбираете Reuse output ports for vertically aligned regions, блок имеет один выходной pixel порт для каждого столбца вертикально выровненных областей.

Управляющие сигналы, возвращаемые как pixelcontrol шина, которая содержит пять сигналов. По умолчанию блок имеет R выходных ctrl портов, где R является параметром Number of regions или количеством строк в матрице параметров Regions.

Когда вы выбираете Reuse output ports for vertically aligned regions, блок имеет один выходной ctrl порт для каждого столбца выровненных областей.

Типы данных: bus

Параметры

расширить все

При выборе этого параметра необходимо задать области, которые не имеют вертикального перекрытия и выровнены по столбцам. Блок имеет один выходной поток пикселей для каждого столбца областей. Эта схема позволяет проводить параллельную обработку каждого столбца и повторно использовать логику последующей обработки для каждой области в столбце. Используйте visionhdlframetoregions функция для разделения системы координат на мозаичные области для вертикального повторного использования.

Зависимости

Чтобы включить этот параметр, установите параметр Regions source равным Property.

Укажите местоположение определений выходных областей. Можно задать Regions source одно из следующих значений:

  • Property - Задайте области при помощи параметра Regions.

  • Input port - Задайте области при помощи входных портов. Каждый входной порт соответствует одной области. Блок производит выборку region входных портов при vStart является true на входе шины управления.

Зависимости

Чтобы включить этот параметр, очистите параметр Reuse output ports for vertically aligned regions.

Задайте прямоугольные ROI, чтобы выбрать из входного кадра матрицу R -by-4 .

R является числом регионов. Четыре элемента, которые определяют каждую область, являются левыми начальными координатами и размерностями области и должны иметь форму [hPos vPos hSize vSize] . Координаты отсчитываются из верхнего левого угла активной системы координат, заданные как [1,1]. hSize должно быть больше 1.

Для многопиксельной потоковой передачи области должны соответствовать этим условиям, где M Number of pixels.

  • mod(hPos, M) = 1 - Например, если ваш поток пикселей имеет четыре пикселя за цикл, 129 является допустимым значением hPos (mod(129,4) = 1), в то время как 128 недопустимо (mod(128,4) = 0).

  • mod(hSize, M) = 0 - Например, если ваш поток пикселей имеет четыре пикселя за цикл, 120 является допустимым hSize (mod(120,4) = 0), в то время как 118 недопустимо (mod(118,4) = 2).

Когда вы очищаете параметр Reuse output ports for vertically aligned regions, области могут перекрываться, и R не должно быть больше 16.

При выборе Reuse output ports for vertically aligned regions области в этой матрице не должны иметь вертикального перекрытия и выравниваться по столбцам. Эта схема показывает два примера недопустимых областей, обрисованных синей штриховой линией. Область слева перекрывает другую область вертикально. Две области внизу не совпадают с другими областями в столбцах. Области не должны покрывать всю систему координат. Пиксели за пределами мозаичных областей помечаются как неактивные пиксели. Количество столбцов не должно превышать 16.

Зависимости

Чтобы включить этот параметр, установите параметр Regions source равным Property.

Задайте количество входных портов области в виде целого числа в области значений [1, 16].

Зависимости

Чтобы включить этот параметр, установите параметр Regions source равным Input port.

Алгоритмы

расширить все

Сгенерированный HDL-код для блока ROI Selector использует два 32-битных счетчика. Блок не использует дополнительные счетчики для дополнительных областей.

Расширенные возможности

.
Введенный в R2016a