Draw Shapes

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

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

  • Draw Shapes block

Описание

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

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

Порты

Вход

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

Входное изображение, заданное как 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.

  • Rectangles - M -by-4 матрица M прямоугольников. Формат для каждого прямоугольника должен быть, [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ].

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

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

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

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

    [x1y1width1height1x2y2width2height2xMyMwidthMheightM]

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

  • Lines - M -by-2 L матрица M полилиний. Формат каждой полилинии должен иметь вид [x1, y1, x2, y2,..., xL, yL].

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

    • x2 и y2 являются координатами конца линии.

    M линий

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

    [x11y11x12y12x21y21x22y22xM1yM1xM2yM2]

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

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

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

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

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

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

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

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

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

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

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

    ФормаВход в порт PtsНарисованная форма
    Один многоугольник с L сегментами линииВектор-строка размера 2 L, где 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-2 L матрица в формате

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

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

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

  • Circles - M -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

Необходимая область, определенная как вектор с четырьмя элементами [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ]. Область задает прямоугольную область для рисования фигур. Первые два элемента представляют базовые координаты верхнего левого угла области. Вторые два элемента представляют ширину и высоту области.

Зависимости

Чтобы включить этот порт, установите порт 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, Polygons, или 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++ с помощью Coder™ Simulink ®

.

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

См. также

|

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