Draw Shapes

Чертите прямоугольники, линии, многоугольники или круги на изображениях

  • Библиотека:
  • Computer Vision Toolbox / текст & Графика

  • Draw Shapes block

Описание

Блок Draw Shapes чертит прямоугольники, линии, многоугольники или круги на изображениях путем перезаписи пиксельных значений. В результате формы встраиваются в выходное изображение. Блок использует алгоритм визуализации линии Брезенхэма, чтобы провести линии, многоугольники, и прямоугольники и круговой алгоритм визуализации Брезенхэма, чтобы нарисовать круги. Выходной сигнал одного размера и тип данных с входными параметрами к Image, R, G и портам B.

Можно установить цвет заливки формы или цвет рамки через входной порт или путем ручного ввода значений в окно Block Parameters. Используйте цветные параметры, чтобы определить внешний вид прямоугольников, линий, многоугольников или кругов.

Порты

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

развернуть все

Введите изображение или в виде M-by-N матрица значений интенсивности или в виде M-by-N-by-P матрица значений цвета с плоскостями цвета P.

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

Красный видеопоток в виде скаляра, вектора или матрицы. Вход представляет одну плоскость видеопотока RGB. R, G и порты B должны иметь те же размерности и тип данных.

Зависимости

Чтобы включить этот порт, установите параметр Image signal на Separate color signals.

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

Зеленый видеопоток в виде скаляра, вектора или матрицы. Вход представляет одну плоскость видеопотока RGB. R, G и порты B должны иметь те же размерности и тип данных.

Зависимости

Чтобы включить этот порт, установите параметр Image signal на Separate color signals.

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

Синий видеопоток в виде скаляра, вектора или матрицы. Вход представляет одну плоскость видеопотока RGB. R, G и порты B должны иметь те же размерности и тип данных.

Зависимости

Чтобы включить этот порт, установите параметр Image signal на Separate color signals.

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

Сформируйте координаты. Формат точек зависит от типа формы, которую вы задаете параметром Shape.

  • RectanglesM-by-4 матрица прямоугольников M. Формат для каждого прямоугольника должен быть, [x y width height].

    ФормаВведите к порту PtsЧертившая форма
    Один прямоугольникЧетырехэлементный вектор-строка в формате
    [x y width height], где:
    • x и y координаты на основе одна верхнего левого угла прямоугольника.

    • width и height ширина и высота в пикселях, прямоугольника. Значения width и height должен быть больше 0.

    Прямоугольники M

    M-by-4 матрица в формате

    [x1y1width1height1x2y2width2height2xMyMwidthMheightM]

    , где каждая строка матрицы соответствует различному прямоугольнику и имеет ту же форму как вектор для одного прямоугольника.

  • LinesM-by-2L матрица ломаных линий M. Формат для каждой ломаной линии должен иметь форму [x1, y1, x2, y2, …, xL, yL].

    ФормаВведите к порту PtsЧертившая форма
    Одна строкаЧетырехэлементный вектор-строка в формате [x1 y1 x2 y2], где:
    • x1 и y1 координаты начала линии.

    • x2 и y2 координаты конца линии.

    Линии M

    M-by-4 матрица в формате

    [x11y11x12y12x21y21x22y22xM1yM1xM2yM2]

    , где каждая строка матрицы соответствует различной линии и имеет ту же форму как вектор для одной строки.

    Одна ломаная линия с (L-1) сегментыВектор из размера 2L, где L является количеством вершин, в формате, [x1, y1, x2, y2, ..., xL, yL, где
    • x1 и y1 являются координатами начала первого линейного сегмента.

    • x2 и y2 являются координатами конца первого линейного сегмента и начало второго линейного сегмента.

    • xL и yL являются координатами конца (L-1)th линейный сегмент.

    Ломаная линия всегда содержит (L-1) количество сегментов, потому что первые и последние точки вершины не соединяются. Блок производит сообщение об ошибке, когда количество строк меньше два или не кратное два.

    Ломаные линии M с (L-1) сегменты

    M-by-2L матрица в формате

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

    , где каждая строка матрицы соответствует различной ломаной линии и имеет ту же форму как вектор для одной ломаной линии. Когда вы требуете, чтобы одна ломаная линия содержала меньше, чем (L –1) количество сегментов, заполнила матрицу путем повторения координат последней вершины.

    Блок производит сообщение об ошибке, если количество строк меньше два или не кратное два.

  • PolygonsM-by-2L матрица многоугольников M. Формат для каждого многоугольника должен иметь форму [x1, y1, x2, y2, …, xL, yL]. Точки заданы в последовательном порядке сформировать многоугольник.

    ФормаВведите к порту PtsЧертившая форма
    Один Многоугольник с линейными сегментами LВектор-строка из размера 2L, где L является количеством вершин в формате [x1 y1 x2 y2 ... xL yL], где:
    • x1 и y1 являются координатами начала первого линейного сегмента.

    • x2 и y2 являются координатами конца первого линейного сегмента и начало второго линейного сегмента.

    • xL и yL являются координатами конца (L-1)th линейный сегмент и начало Lth линейный сегмент.

    Блок соединяет [x1 y1] к [xL yL] завершать многоугольник. Блок производит ошибку, если количество строк отрицательно или не кратное два.

    Многоугольники M с наибольшим числом линейных сегментов в любой линии, являющейся L

    M-by-2L матрица в формате

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

    , где каждая строка матрицы соответствует различному многоугольнику и имеет ту же форму как вектор для одного многоугольника. Если некоторые многоугольники короче, чем другие, повторите конечные координаты, чтобы заполнить матрицу многоугольника.

    Блок производит сообщение об ошибке, если количество строк меньше два или не является кратным два.

  • CirclesM-by-3 матрица кругов M. Формат для каждого круга должен быть, [x y radius].

    ФормаВведите к порту PtsЧертившая форма
    Один кругТрехэлементный вектор-строка в формате
    [x y radius], где:
    • x и y координаты для центра круга.

    • radius радиус круга, который должен быть больше 0.

    Круги M

    M-by-3 матрица в формате

    [x1y1radius1x2y2radius2xMyMradiusM]

    , где каждая строка матрицы соответствует различному кругу и имеет ту же форму как вектор для одного круга.

Зависимости

  • Плавающая точка двойной точности только поддерживается, если вход к Image или R, G и портам B является плавающей точкой.

  • Плавающая точка с одинарной точностью (только поддерживаемый, если вход к Image или R, G и порты B являются плавающей точкой).

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

Необходимая область в виде четырехэлементного вектора [x y width height]. Область задает прямоугольную область, чтобы чертить формы. Первые два элемента представляют координаты на основе одну верхнего левого угла области. Вторые два элемента представляют ширину и высоту области.

Зависимости

Чтобы включить этот порт, установите порт ROI, появляется, когда вы устанавливаете параметр Draw shapes in на Specify region of interest via port.

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

Цвет формы или в виде P - вектор элемента или в виде M-by-P матрица количества M форм и количества P цветных плоскостей. Можно задать цвет (RGB) для каждой формы или задать один цвет для всех форм.

Зависимости

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

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

Вывод

развернуть все

Выходное изображение, возвращенное как скаляр, вектор или матрица.

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

Параметры

развернуть все

Main Tab

Выберите Fill Shapes, чтобы задать значение интенсивности или цвет.

Примечание

Если вы генерируете код, и вы устанавливаете флажок Fill shapes, размер слова входа (входов) блока не может превысить 16 битов.

Задайте источник для значения цвета заливки к любому Specify via dialog или Input port.

Зависимости

Чтобы включить этот параметр, выберите Fill shapes.

Задайте цвет заливки формы.

Зависимости

Чтобы включить этот параметр, выберите параметр Fill shapes.

Задайте источник для значения цвета рамки к любому Specify via dialog или Input port.

Зависимости

Чтобы включить этот параметр, выберите параметр Fill shapes.

Задайте внешний вид границы формы. Можно задать Black, White, или User-specified value. Эта таблица описывает, что ввести для значения цвета на основе входа блока и количества форм, которые вы чертите.

Вход блокаЗначение (значения) цвета для рисования одной формы или нескольких форм с тем же цветомЗначение (значения) цвета для рисования нескольких форм с уникальными цветами
Изображение интенсивностиСкалярное значение интенсивностиR- вектор элемента, где R является количеством форм
Цветное изображениеВектор P-элемента, где P является количеством цветных плоскостейR-by-P матрица, где P является количеством цветных плоскостей и R, является количеством форм

Для каждого значения в параметре Color Value(s) введите номер между минимальными и максимальными значениями, которые могут быть представлены по условию тип входного изображения. Если вы вводите значение вне этой области значений, блок производит сообщение об ошибке.

Зависимости

Чтобы включить этот параметр, очистите параметр Fill shapes.

Задайте интенсивность или значение цвета для границы или заливки формы.

Настраиваемый: да

Зависимости

Включить этому набору параметров Border color или параметр Fill color к User-specified value.

Задайте непрозрачность штриховки в форме, где 0 прозрачно и 1 непрозрачно.

Значение Фактора непрозрачности для Рисования Одной Формы или Нескольких Форм с Тем же ЦветомЗначение Фактора непрозрачности для Рисования Нескольких Форм с уникальными цветами
Скалярное значение интенсивностиR- вектор элемента, где R является количеством форм

Зависимости

Чтобы включить этот параметр, очистите параметр Fill shapes.

Выполните алгоритм сглаживания для линии, многоугольника или круга.

Зависимости

  • Чтобы включить этот параметр, установите параметр Shape на любой LinesПолигоны, или Circles.

Задайте как к вводу и выводу цветной видеосигнал. Выберите цветной видеосигнал как одно из следующего:

  • One multidimensional signal — Блок принимает M-by-N-by-P цветной видеосигнал, где P является количеством цветных плоскостей в одном порте.

  • Separate color signals — Включает R, G и входные порты B. Каждый порт принимает один M-by-N плоскость видеопотока RGB.

Data Types Tab

Для получения дополнительной информации на параметрах блоков фиксированной точки, смотрите, Задают Атрибуты Фиксированной точки для Блоков.

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

Многомерные сигналы

yes

Сигналы переменного размера

yes

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

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

|

Представлено до R2006a