Рисуйте текст на изображении или видеопотоке.
Текст и графика
visiontextngfix
Блок Insert Text рисует форматированный текст или числа на изображении или видеопотоке. Блок использует библиотеку FreeType 2.3.5, механизм шрифта с открытым исходным кодом, для создания стилизованных текстовых растровых изображений. Чтобы узнать больше о проекте FreeType, посетите https://www.freetype.org/
. Блок Insert Text не поддерживает наборы символов, кроме ASCII.
Блок Insert Text позволяет вам нарисовать один или несколько образцы текста, включая:
Один образец текста
Несколько образцы одного и того же текста
Несколько образцы текста с различным текстом в каждом месте
Порт | Описание | Поддерживаемые типы данных |
---|---|---|
Изображение | Матрица M-на-N значений интенсивности или цветовой видеосигнал M-на-N-на-P, где P представляет количество цветовых плоскостей. |
|
R, G, B | Матрица, которая представляет одну плоскость видеопотока RGB. Выходы портов R, G или B имеют одинаковые размерности и тип данных. | То же, что Input port |
Выбрать | Одно значение индекса на основе, которое указывает, какой текст отображать. |
|
Переменные | Вектор или матрица, значения которых используются для замены ANSI C | Типы данных, поддерживаемые этим портом, зависят от спецификации преобразования, которую вы используете в параметре Text. % d,% i и% u:
% c и% s:
% f:
% o,% x,% X,% e,% E,% g и% G:
|
Цвет | Вход интенсивности - Скалярное значение, используемое для всех векторов символов или вектора значений интенсивности, длина которого равна количеству векторов символов. Вход цвета - трехэлементный вектор, который задает один цвет для всех векторов символов или M-на-3 матрица цветовых значений, где M представляет количество векторов символов. | То же, что Input port (Вход к этому порту должен быть совпадающим типом данных, как и вход к Input port.) |
Местоположение | M -by-2 матрица с одной основанной на [x y] координатами, где M представляет количество текстовых векторов символов для вставки. Location задает верхний левый угол текста вектора символов ограничивающий прямоугольник. |
|
Непрозрачность | Скалярное значение, которое используется для всех векторов символов или вектора значений непрозрачности, длина которых равна количеству векторов символов. |
|
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. Необходимо установить этот флажок, чтобы включить функциональность основной строки в этих блоках. Все другие блоки должны быть правильно сконфигурированы для обработки данных в формате основной строки.
Используйте следующий двухэтапный рабочий процесс для разработки алгоритмов в формате основной строки для запуска на целевом процессоре.
Укажите вектор текстовых символов, который будет нарисован на изображении или видеопотоке. Этот параметр может быть одним текстовым вектором символов, такой как '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 | Нет | Нет |
Выберите, где задать цвет текста. Ваш выбор:
Specify via dialog
- параметр Color value появляется в диалоговом окне.
Input port
- на блоке появляется порт Color.
Задайте интенсивность или цвет текста. Этот параметр видим, если для параметра 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 представляет количество векторов символов. |
Укажите, где необходимо указать текстовое расположение. Ваш выбор:
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 матрица, где M представляет количество расположений, в которых можно отобразить текст. Каждая строка содержит координаты верхнего левого угла ограничивающего текста прямоугольника для вектора символов, например [x1 y1; x2 y2] | M -by-2 матрица, где M представляет количество векторов текстовых символов. Каждая строка содержит координаты верхнего левого угла ограничивающего текста прямоугольника для вектора символов, например [x1 y1; x2 y2] . |
Укажите, где необходимо задать непрозрачность текста. Ваш выбор:
Specify via dialog
- параметр Opacity появляется в диалоговом окне.
Input port
- на блоке появляется порт непрозрачности.
Задайте непрозрачность текста. Этот параметр видим, если для параметра 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.
Задайте, как ввести и вывести цветной видеосигнал. Если вы выбираете One multidimensional signal
блок принимает M -by N -by P цветной видеосигнал, где P количество цветовых плоскостей, в один порт. Если вы выбираете Separate color signals
на блоке появляются дополнительные порты. Каждый порт принимает одну M -by - N плоскость видеопотока RGB.
Когда вы устанавливаете этот флажок, блок принимает, что входной буфер содержит элементы данных из первой строки, затем элементы данных из второй строки и так далее через последнюю строку.
Задайте шрифт текста. Блок заполняет этот список шрифтами, установленными в вашей системе. В Windows блок ищет в системном реестре файлы шрифтов. В UNIX блок ищет файлы шрифтов в пути шрифта X Server.
Задайте размер шрифта.
Установите этот флажок, если необходимо, чтобы блок сглаживал ребра текста. Это может быть дорогим в вычислительном отношении. Если вы хотите, чтобы ваша модель запускалась быстрее, снимите этот флажок.
Computer Vision Toolbox | |
Computer Vision Toolbox |