Insert Text

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

Библиотека

Text & Graphics

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-битное беззнаковое целое

Rgb

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

То же самое как Input port

Выбрать

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

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

  • Плавающая точка с одинарной точностью. (Этот тип данных только поддерживается, если вход ко мне или 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-битное беззнаковое целое

Цвет

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

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

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

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

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

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

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

  • Булевская переменная

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

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

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

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

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

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

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

Упорядоченный по строкам формат данных

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

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

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

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

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

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

    Например, если вы используете 2D блок FIR Filter, необходимо проверить, что коэффициенты фильтра транспонированы. Если вы используете блок Rotate, необходимо использовать отрицательные углы поворота и т.д.

  • Только три блока имеют флажок Input image is transposed (data order is row major). Они - Передискретизация Цветности, Деинтерлейсинг, и Вставляют текстовые блоки. Необходимо установить этот флажок, чтобы добавить упорядоченную по строкам функциональность в этих блоках. Все другие блоки должны быть правильно сконфигурированы, чтобы обработать данные в упорядоченном по строкам формате.

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

Параметры

Text

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

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

При вводе ANSI C printf- разработайте технические требования формата, такие как %dF, или %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

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

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

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

ПараметрОдна текстовая строкаНесколько текстовых строк
Установка параметра Opacity или вход к порту 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-сервера для файлов шрифтов.

Font size (points)

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

Anti-aliased

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

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

Draw Shapes

Computer Vision Toolbox

Draw Markers

Computer Vision Toolbox

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

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

Введенный в R2013a
Для просмотра документации необходимо авторизоваться на сайте