Insert Text

Рисуйте текст на изображении или видеопотоке.

Библиотека

Текст и графика

visiontextngfix

  • Insert Text block

Описание

Блок Insert Text рисует форматированный текст или числа на изображении или видеопотоке. Блок использует библиотеку FreeType 2.3.5, механизм шрифта с открытым исходным кодом, для создания стилизованных текстовых растровых изображений. Чтобы узнать больше о проекте FreeType, посетите https://www.freetype.org/. Блок Insert Text не поддерживает наборы символов, кроме ASCII.

Блок Insert Text позволяет вам нарисовать один или несколько образцы текста, включая:

  • Один образец текста

  • Несколько образцы одного и того же текста

  • Несколько образцы текста с различным текстом в каждом месте

Описание порта

ПортОписаниеПоддерживаемые типы данных

Изображение

Матрица M-на-N значений интенсивности или цветовой видеосигнал M-на-N-на-P, где P представляет количество цветовых плоскостей.

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка (со знаком, размер слова меньше или равна 32.)

  • Булев

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

R, G, B

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

То же, что Input port

Выбрать

Одно значение индекса на основе, которое указывает, какой текст отображать.

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

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

  • Булев

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

Переменные

Вектор или матрица, значения которых используются для замены ANSI C printf-стиль формата спецификаций.

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

% d,% i и% u:

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

% c и% s:

  • 8-битное беззнаковое целое число

% f:

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

% o,% x,% X,% e,% E,% g и% G:

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

Цвет

Вход интенсивности - Скалярное значение, используемое для всех векторов символов или вектора значений интенсивности, длина которого равна количеству векторов символов.

Вход цвета - трехэлементный вектор, который задает один цвет для всех векторов символов или M-на-3 матрица цветовых значений, где M представляет количество векторов символов.

То же, что Input port (Вход к этому порту должен быть совпадающим типом данных, как и вход к Input port.)

Местоположение

M -by-2 матрица с одной основанной на [x y] координатами, где M представляет количество текстовых векторов символов для вставки. Location задает верхний левый угол текста вектора символов ограничивающий прямоугольник.

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

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

  • Булев

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

Непрозрачность

Скалярное значение, которое используется для всех векторов символов или вектора значений непрозрачности, длина которых равна количеству векторов символов.

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

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

  • ufix8_En7 (Этот тип данных поддерживается только, если вход в порты I или R, G и B является типом данных с фиксированной точкой.)

Формат данных основной строки

MATLAB® а в блоках Computer Vision Toolbox™ используется организация данных по основным столбцам. Однако блок Вставить текст (Insert Text) предоставляет вам опцию обработки данных, хранящихся в формате основной строки. Когда вы устанавливаете флажок Input image is transposed (data order is row major), блок принимает, что входной буфер содержит смежные элементы данных из первой строки, затем элементы данных из второй строки и так далее через последнюю строку. Используйте эту функциональность только тогда, когда вы удовлетворяете всем следующим критериям:

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

  • Необходимо ограничить дополнительную обработку, необходимую для транспонирования сигналов на интерфейсах систем основной строки и основной колонны.

При использовании функциональности row-major необходимо учитывать следующие проблемы:

  • Когда вы устанавливаете этот флажок, первые две размерности сигнала входного сигнала блока Insert Text заменяются.

  • Все программные блоки Computer Vision Toolbox могут использоваться для обработки данных в основном формате строки, но при разработке алгоритмов необходимо знать размерности изображений.

    Для примера, если вы используете 2-D конечные импульсные характеристики Filter блока, необходимо проверить, что коэффициенты фильтра транспонированы. Если вы используете блок Вращать (Rotate), необходимо использовать отрицательные углы поворота и т.д.

  • Только три блока имеют флажок Input image is transposed (data order is row major). Это блоки Chroma Resampling, Deinterlacing и Insert Text. Необходимо установить этот флажок, чтобы включить функциональность основной строки в этих блоках. Все другие блоки должны быть правильно сконфигурированы для обработки данных в формате основной строки.

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

Параметры

Text

Укажите вектор текстовых символов, который будет нарисован на изображении или видеопотоке. Этот параметр может быть одним текстовым вектором символов, такой как 'Figure1', массив ячеек из векторов символов, таких как {'Figure1','Figure2'}, или ANSI C printf-стиль формата спецификаций, таких как% s.. Чтобы создать Select порт, введите массив ячеек из векторов символов. Чтобы создать Variables порт, введите спецификации формата ANSI C printf, такие как %d, %f, или %s.

Когда вы вводите массив ячеек из векторов символов, Insert Text блок отображает не все векторы символов одновременно. Вместо этого на блоке появляется Select порт, который позволяет вам указать, какие текстовые векторы символов будут отображаться. Вход этого порта должен быть скалярным значением, где 1 указывает первый вектор символов. Если вход меньше 1 или больше одного, чем количество векторов символов в массиве ячеек, текст не будет нарисован на изображении или видеокадре.

При вводе ANSI C printf-стиль формата спецификаций, таких как %d, %f, или %sпорт Variables появляется на блоке. Блок заменяет спецификации формата в параметре Text на каждый элемент входного вектора. Используйте %s опция для задания набора текстовых векторов символов для одновременного отображения блока при других местах. Для примера с помощью блока Constant (Simulink) введите [uint8('Text1') 0 uint8('Text2')] для параметра Constant value. В следующей таблице представлены поддерживаемые спецификации преобразования.

Поддерживаемые спецификации преобразования текстовых параметров

Поддерживаемые спецификацииПоддержка нескольких образцов одной и той же спецификацииПоддержка смешанных спецификаций
% d,% i,% u,% c,% f,% o,% x,% X,% e,% E,% g и% GДаНет
% sНетНет
Color value source

Выберите, где задать цвет текста. Ваш выбор:

  • Specify via dialog - параметр Color value появляется в диалоговом окне.

  • Input port - на блоке появляется порт Color.

Color value

Задайте интенсивность или цвет текста. Этот параметр видим, если для параметра Color source вы выбираете Specify via dialog. Настраиваемый.

В следующей таблице описывается, как форматировать цвет текстовых векторов символов, которые зависят от входа блоков и количества векторов символов, которые вы хотите вставить. Значения цвета для входного изображения типа данных с плавающей точкой должны быть между 0 и 1. Значения цвета для 8-битного беззнакового целочисленного входного изображения типа данных должны быть между 0 и 255.

Текстовые Векторы символов цветовые значения

Блочный входОдин текстовый Вектор символовНесколько текстовые Векторы символов
Изображение интенсивностиColor value параметр или вход в Color порт, заданный как скалярное значение интенсивностиColor value параметр или вход в порт Color задается как вектор значений интенсивности, длина которого равна количеству векторов символов.
Цветное изображениеColor value параметр или вход в порт Color, заданный как триплет RGB, который определяет цвет текстаColor value параметр или вход в порт Color, заданный как матрица M -by-3 цветовых значений, где M представляет количество векторов символов.
Location source

Укажите, где необходимо указать текстовое расположение. Ваш выбор:

  • Specify via dialog - параметр Location [x y] появляется в диалоговом окне.

  • Input port - на блоке появляется порт Location.

Location [x y]

Укажите текстовое расположение. Этот параметр видим, если для параметра Location source вы выбираете Specify via dialog. Настраиваемый.

Следующая таблица описывает формат расположения текста векторов символов в зависимости от количества векторов символов, которые вы задаете для вставки. Можно задать несколько местоположений независимо от того, сколько векторов текстовых символов вы задаете, но единственный способ получить другой вектор текстовых символов в каждом местоположении - использовать опцию% s для параметра Text, чтобы задать набор векторов текстовых символов. Можно ввести отрицательные значения или значения, которые превышают размерности входного изображения или видеокадра, но текст может быть не виден.

Текст параметра местоположения Вектора символов вставки

ПараметрОдин Образец одного текстового Вектора символовНесколько Образцы одного и того же текстового Вектора символовНесколько Образцы уникальных текстовых Векторов символов
Location [x y] параметра или вход в порт LocationДвухэлементный вектор формы [x y], который указывает верхний левый угол ограничивающего текста прямоугольника.M -by-2 матрица, где M представляет количество расположений, в которых можно отобразить текст. Каждая строка содержит координаты верхнего левого угла ограничивающего текста прямоугольника для вектора символов, например [x1 y1; x2 y2]M -by-2 матрица, где M представляет количество векторов текстовых символов. Каждая строка содержит координаты верхнего левого угла ограничивающего текста прямоугольника для вектора символов, например [x1 y1; x2 y2].
Opacity source

Укажите, где необходимо задать непрозрачность текста. Ваш выбор:

  • Specify via dialog - параметр Opacity появляется в диалоговом окне.

  • Input port - на блоке появляется порт непрозрачности.

Opacity

Задайте непрозрачность текста. Этот параметр видим, если для параметра Opacity source вы выбираете Specify via dialog. Настраиваемый.

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

Значения непрозрачности текстовых строк

ПараметрОдна текстовая строкаНесколько текстовых строк
Opacity параметра или вход в порт непрозрачностиСкалярное значение между 0 и 1, где 0 полупрозрачен и 1 непрозраченВектор, длина которого равна количеству векторов символов

Используйте параметр Image signal, чтобы задать, как ввести и вывести цветной видеосигнал:

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

  • Separate color signals - на блоке появляются дополнительные порты. Каждый порт принимает одну M -by - N плоскость видеопотока RGB.

Image signal

Задайте, как ввести и вывести цветной видеосигнал. Если вы выбираете One multidimensional signalблок принимает M -by N -by P цветной видеосигнал, где P количество цветовых плоскостей, в один порт. Если вы выбираете Separate color signalsна блоке появляются дополнительные порты. Каждый порт принимает одну M -by - N плоскость видеопотока RGB.

Input image is transposed (data order is row major)

Когда вы устанавливаете этот флажок, блок принимает, что входной буфер содержит элементы данных из первой строки, затем элементы данных из второй строки и так далее через последнюю строку.

Font face

Задайте шрифт текста. Блок заполняет этот список шрифтами, установленными в вашей системе. В Windows блок ищет в системном реестре файлы шрифтов. В UNIX блок ищет файлы шрифтов в пути шрифта X Server.

Font size (points)

Задайте размер шрифта.

Anti-aliased

Установите этот флажок, если необходимо, чтобы блок сглаживал ребра текста. Это может быть дорогим в вычислительном отношении. Если вы хотите, чтобы ваша модель запускалась быстрее, снимите этот флажок.

См. также

Draw Shapes

Computer Vision Toolbox

Draw Markers

Computer Vision Toolbox

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

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

.
Введенный в R2013a