exponenta event banner

Вставить текст

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

Библиотека

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

visiontextngfix

  • Insert Text block

Описание

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

Блок «Вставить текст» позволяет нарисовать один или несколько экземпляров текста, включая:

  • Один экземпляр текста

  • Несколько экземпляров одного текста

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

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

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

Изображение

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

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

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

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

  • Булев

  • 8-, 16-, 32-разрядное целое число со знаком

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

R, G, B

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

Совпадает с портом ввода

Выбрать

Значение индекса на основе единицы, указывающее отображаемый текст.

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

Цвет

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

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

Тот же, что и порт ввода (вход в этот порт должен быть того же типа данных, что и вход в порт ввода).

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

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

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

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

  • Булев

  • 8-, 16-, 32-разрядное целое число со знаком

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

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

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

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

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

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

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

В блоках MATLAB ® и Computer Vision Toolbox™ используется организация основных данных в столбцах. Однако блок «Вставить текст» позволяет обрабатывать данные, хранящиеся в основном формате строки. При установке флажка Input image is transposed (порядок данных - основная строка) блок предполагает, что входной буфер содержит смежные элементы данных из первой строки, затем элементы данных из второй строки и так далее из последней строки. Эта функция используется только при соблюдении всех следующих критериев:

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

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

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

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

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

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

  • Только для трех блоков установлен флажок «Входное изображение» (порядок данных - основной). Это блоки «Ресамплинг цветности», «Деинтерлейсинг» и «Вставка текста». Необходимо установить этот флажок, чтобы включить основные функциональные возможности строк в этих блоках. Все остальные блоки должны быть правильно настроены для обработки данных в формате основной строки.

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

Параметры

Текст

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

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

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

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

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

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

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

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

Значение цвета

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

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

Значения цвета вектора текстовых символов

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

Укажите расположение текста. Ваш выбор:

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

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

Местоположение [x y]

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

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

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

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

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

  • Specify via dialog - в диалоговом окне появится параметр Непрозрачность (Opacity).

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

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

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

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

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

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

Параметр Сигнал изображения (Image signal) используется для указания способа ввода и вывода цветного видеосигнала:

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

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

Сигнал изображения

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

Входное изображение транспонируется (порядок данных - основная строка)

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

Грань шрифта

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

Размер шрифта (точки)

Укажите размер шрифта.

Сглаживание

Установите этот флажок, если требуется, чтобы блок сглаживал края текста. Это может быть дорогостоящим в вычислительном отношении. Чтобы модель работала быстрее, снимите этот флажок.

См. также

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

Инструментарий компьютерного зрения

Рисование маркеров

Инструментарий компьютерного зрения

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

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

.
Представлен в R2013a