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

Блок «Вставить текст» рисует отформатированный текст или цифры на изображении или видеопотоке. Блок использует библиотеку FreeType 2.3.5, механизм шрифтов с открытым исходным кодом, для создания стилизованных текстовых растровых изображений. Чтобы узнать больше о FreeType Project, посетите https://www.freetype.org/. Блок вставки текста не поддерживает наборы символов, отличные от ASCII.
Блок «Вставить текст» позволяет нарисовать один или несколько экземпляров текста, включая:
Один экземпляр текста
Несколько экземпляров одного текста
Несколько экземпляров текста с различным текстом в каждом месте
| Порт | Описание | Поддерживаемые типы данных |
|---|---|---|
Изображение | Матрица M-за-N значений интенсивности или цветной видеосигнал M-за-N-за-P, где P представляет количество цветовых плоскостей. |
|
R, G, B | Матрица, представляющая одну плоскость видеопотока RGB. Выходы портов R, G или B имеют одинаковые размеры и тип данных. | Совпадает с портом ввода |
Выбрать | Значение индекса на основе единицы, указывающее отображаемый текст. |
|
Переменные | Вектор или матрица, значения которых используются для замены ANSI C | Типы данных, поддерживаемые этим портом, зависят от спецификации преобразования, используемой в параметре Text. % d,% i и% u:
% c и% s:
% f:
% o,% x,% X,% e,% E,% g и% G:
|
Цвет | Ввод интенсивности - скалярное значение, используемое для всех символьных векторов или вектор значений интенсивности, длина которого равна числу символьных векторов. Цветовой ввод - трехэлементный вектор, указывающий один цвет для всех символьных векторов или anM-by-3 матрицы цветовых значений, где M представляет количество символьных векторов. | Тот же, что и порт ввода (вход в этот порт должен быть того же типа данных, что и вход в порт ввода). |
Местоположение | M-by-2 матрица с одноосновными координатами [x y], где M представляет количество векторов текстовых символов для вставки. Местоположение указывает верхний левый угол ограничительной рамки вектора текстовых символов. |
|
Непрозрачность | Скалярное значение, используемое для всех символьных векторов или векторов значений непрозрачности, длина которых равна числу символьных векторов. |
|
В блоках 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.
Укажите расположение текста. Этот параметр виден, если для параметра Источник расположения (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.
Укажите размер шрифта.
Установите этот флажок, если требуется, чтобы блок сглаживал края текста. Это может быть дорогостоящим в вычислительном отношении. Чтобы модель работала быстрее, снимите этот флажок.
Инструментарий компьютерного зрения | |
Инструментарий компьютерного зрения |