exponenta event banner

Рисование фигур

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

  • Библиотека:
  • Панель инструментов компьютерного зрения/Текст и графика

  • Draw Shapes block

Описание

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

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

Порты

Вход

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

Входное изображение, определяемое как матрица M-за-N значений интенсивности или матрица M-за-N-за-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

Координаты фигуры. Формат точек зависит от типа формы, заданного с помощью параметра «Форма».

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

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

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

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

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

    [x1y1width1height1x2y2width2height2  xMyMwidthMheightM]

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

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

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

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

    М линий

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

    [x11y11x12y12x21y21x22y22  xM1yM1xM2yM2]

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

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

    • x2 и y2 - координаты конца первого отрезка и начала второго отрезка.

    • xL и yL - координаты конца (L-1) -го отрезка линии.

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

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

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

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2L  xM1yM1xM2yM2xMLyML]

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

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

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

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

    • x2 и y2 - координаты конца первого отрезка и начала второго отрезка.

    • xL и yL - координаты конца (L-1) -го отрезка линии и начала L-го отрезка линии.

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

    M Многоугольники с наибольшим числом отрезков в любой линии L

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

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2L  xM1yM1xM2yM2xMLyML]

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

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

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

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

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

    M кругов

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

    [x1y1radius1x2y2radius2⋮⋮⋮xMyMradiusM]

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

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот порт, установите порт ROI, отображаемый при установке параметра Draw shapes в значении 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) для каждой фигуры или один цвет для всех фигур.

Зависимости

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

Типы данных: 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

Параметры

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

Главная вкладка

Выберите «Фигуры заливки», чтобы задать значение интенсивности или цвет.

Примечание

При создании кода и установке флажка «Заполнить фигуры» длина слова ввода блока не может превышать 16 бит.

Укажите источник для значения цвета заливки: Specify via dialog или Input port.

Зависимости

Чтобы включить этот параметр, выберите Заливка фигур.

Укажите цвет заливки фигуры.

Зависимости

Чтобы включить этот параметр, выберите параметр Заливка фигур.

Укажите источник для значения цвета границы: Specify via dialog или Input port.

Зависимости

Чтобы включить этот параметр, выберите параметр Заливка фигур.

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

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

Для каждого значения параметра «Значения цвета» введите число между минимальным и максимальным значениями, которое может быть представлено типом данных входного изображения. При вводе значения за пределами этого диапазона блок выдает сообщение об ошибке.

Зависимости

Чтобы включить этот параметр, снимите флажок «Заливка фигур».

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Цвет границы или Цвет заливки значение User-specified value.

Укажите непрозрачность затенения внутри фигуры, где 0 прозрачен и 1 непрозрачен.

Значение коэффициента непрозрачности для рисования одной или нескольких фигур с одинаковым цветомЗначение коэффициента непрозрачности для рисования нескольких фигур с уникальными цветами
Значение скалярной интенсивностиВектор R-элемента, где R - количество фигур

Зависимости

Чтобы включить этот параметр, снимите флажок «Заливка фигур».

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

Зависимости

  • Чтобы включить этот параметр, задайте для параметра Shape значение Lines, Polygons, или Circles.

Укажите способ ввода и вывода цветного видеосигнала. Выберите один из следующих вариантов цветного видеосигнала:

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

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

Вкладка «Типы данных»

Дополнительные сведения о параметрах блока с фиксированной точкой см. в разделе Задание атрибутов блока с фиксированной точкой.

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

Типы данных

Boolean | double | fixed point | integer | single

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

yes

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

yes

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

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

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