visionhdlframetoregions

Преобразуйте размерности видеокадра в мозаичные необходимые области

    Описание

    пример

    regions = visionhdlframetoregions(activePixelsPerLine,activeLines,numHorTiles,numVerTiles) преобразует activePixelsPerLine-by- activeLines видеокадр в numHorTiles× <reservedrangesplaceholder0> неперекрывающиеся области, действительные для вертикального повторного использования с блоком ROI Selector или visionhdl.ROISelector Системные object™. По умолчанию функция возвращает набор областей одинакового размера и игнорирует любые оставшиеся пиксели в правой и нижней частях системы координат.

    regions = visionhdlframetoregions(activePixelsPerLine,activeLines,numHorTiles,numVerTiles,'numPix',4) возвращает области, которые совместимы с многопиксельной потоковой передачей. Можно задать numPix на 4 или 8.

    regions = visionhdlframetoregions(activePixelsPerLine,activeLines,numHorTiles,numVerTiles,'fillType','full') возвращает области, которые покрывают весь формат кадра. Если оставшиеся пиксели в правой и нижней частях системы координат существуют, функция расширяет правую и нижнюю области, чтобы включать оставшиеся пиксели.

    В этой схеме система координат слева показывает поведение функции по умолчанию. Система координат 160 на 120 пикселей, разделенный на пять горизонтальных и три вертикальные плитки. Функция возвращает набор из пятнадцати областей 30 на 40 пикселей и игнорирует 10 остальных пикселей справа от системы координат (синяя).

    На этой схеме в системе координат справа показаны области, возвращенные при задании 'filltype','full' аргумент. Подобно предыдущему случаю, система координат составляет 160 на 120 пикселей, разделённых на пять горизонтальных и три вертикальные плитки. Функция возвращает двенадцать областей 30 на 40 пикселей и три области 40 на 40, которые включают оставшиеся пиксели справа от системы координат.

    Примеры

    свернуть все

    В этом примере показов, как разделить систему координат на мозаичные видимые области (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')
    

    Входные параметры

    свернуть все

    Количество пикселей в горизонтальной линии активного входного кадра, заданное в виде положительного целого числа. Функция делит эту размерность на numHorTiles столбцы. Все оставшиеся пиксели из этого деления обрабатываются согласно 'filltype' настройка.

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

    Количество горизонтальных линий в активном входном кадре, заданное в виде положительного целого числа. Функция делит эту размерность на numVerTiles строки. Все оставшиеся пиксели из этого деления обрабатываются согласно 'filltype' настройка.

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

    Количество мозаик в горизонтальном направлении, заданное как положительное целое число. Функция возвращается numHorTiles× <reservedrangesplaceholder0> регионы. Это значение должно находиться в области значений [1, 16].

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

    Количество мозаик в вертикальном направлении, заданное как положительное целое число. Функция возвращается numHorTiles× <reservedrangesplaceholder0> регионы. Это значение должно находиться в области значений [1, 1024].

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

    Выходные аргументы

    свернуть все

    Плиточные необходимые области, возвращенный как numHorTiles× <reservedrangesplaceholder0>-by-4 матрица. Каждая область представлена четырьмя положительными целыми числами, которые определяют координаты верхнего левого угла и размерности области, [hPos vPos hSize vSize] . Используйте эти области, чтобы сконфигурировать ROI Selector блок или visionhdl.ROISelector Системный объект для вертикального повторного использования. Области в каждом столбце имеют общий выходной поток пикселей блока или системного объекта.

    См. также

    Блоки

    Объекты

    Введенный в R2020b