visionhdlframetoregions

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

    Описание

    пример

    regions = visionhdlframetoregions(activePixelsPerLine,activeLines,numHorTiles,numVerTiles) преобразует activePixelsPerLine- activeLines видеокадр в numHorTiles×numVerTiles неперекрывающиеся области, допустимые для вертикального повторного использования с блоком 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) и использовать те области, чтобы сконфигурировать блок Селектора ROI для вертикального повторного использования.

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

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

    frmActiveLines = 240;
    frmActivePixels = 320;
    

    Разделите систему координат на одинаково измеренные вертикально выровненные области или мозаики. 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
    
    

    Блок Селектора ROI в модели Simulink имеет выходные порты Повторного использования для вертикально выровненного параметра областей, выбранного, и использует regions переменная, чтобы задать ее потоки вывода. Блок имеет один поток выходного пикселя для каждого столбца областей.

    open_system('TiledROIHDL')
    

    Сигналы начала и конца задают каждую область в пиксельном потоке. Когда вы запускаете модель, вы видите, что выход разместил рядом области, изменяющиеся в окнах Left Viewer и Right Viewer. Пример выполняет противоположные операции гамма-коррекции на левых и правых мозаиках, и затем повторно собирает эти четыре мозаики в полную систему координат путем управления 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×numVerTiles области. Это значение должно быть в области значений [1, 16].

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

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

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

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

    свернуть все

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

    Смотрите также

    Блоки

    Объекты

    Введенный в R2020b