Выберите области для вертикального повторного использования

В этом примере показов, как разделить систему координат на мозаичные видимые области (ROIs) и использовать эти области, чтобы сконфигурировать блок информации только для чтения Selector для вертикального повторного использования.

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

Настройте размер системы координат.

frmActiveLines = 240;
frmActivePixels = 320;

Разделите систему координат на выровненные по вертикали области равного размера или плитки. The visionhdlframetoregions функция возвращает массив таких областей, где каждая область задана четырьмя координатами и имеет вид [hPos vPos hSize vSize]. Эти счетчики мозаики делятся равномерно на размерности системы координат, поэтому остальных пикселей не существует. Области выхода охватывают всюсь систему координат.

numHorTiles = 2;
numVerTiles = 2;
regions = visionhdlframetoregions(frmActivePixels,frmActiveLines,numHorTiles,numVerTiles)
regions =

     1     1   160   120
   161     1   160   120
     1   121   160   120
   161   121   160   120

Блок информация только для чтения Selector в модели Simulink имеет порты Reuse выхода для вертикально выровненных областей параметра выбран и использует regions переменная, чтобы задать свои выходные потоки. Блок имеет один выходной поток пикселей на столбец областей.

open_system('TiledROIHDL')

Сигналы начала и конца определяют каждую область в потоке пикселей. Когда вы запускаете модель, можно увидеть выход мозаичные области, изменяющиеся в окнах Left Средства просмотра и Right Средства просмотра. Пример выполняет противоположные операции гамма- коррекции на левой и правой плитках, а затем повторно собирает четыре плитки в полную систему координат путем манипулирования pixelcontrol сигналы.

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

sim('TiledROIHDL')

См. также

|