Чертите текст на изображении или видеопотоке.
Text & Graphics
visiontextngfix
Блок Insert Text чертит форматированный текст или числа на изображении или видеопотоке. Блок пользуется библиотекой FreeType 2.3.5, механизмом отображения шрифтов с открытым исходным кодом, чтобы произвести стилизованные текстовые битовые массивы. Чтобы узнать больше о Проекте FreeType, посетите https://www.freetype.org/
. Блок Insert Text не поддерживает наборы символов кроме ASCII.
Блок Insert Text позволяет вам чертить один или несколько экземпляров текста включая:
Один экземпляр текста
Несколько экземпляров того же текста
Несколько экземпляров текста, с различным текстом в каждом местоположении
Порт | Описание | Поддерживаемые типы данных |
---|---|---|
Изображение | Матрица m на n значений интенсивности или M N P окрашивает видеосигнал, где P представляет количество цветных плоскостей. |
|
Rgb | Матрица, которая представляет одну плоскость видеопотока RGB. Выходные параметры от R, G, или порты B имеют те же размерности и тип данных. | То же самое как Input port |
Выбрать | Значение индекса на основе одно, которое указывает который текст отобразиться. |
|
Переменные | Вектор или матрица, значения которой используются, чтобы заменить ANSI C | Типы данных, поддержанные этим портом, зависят от спецификации преобразования, которую вы используете в параметре Text. %d, %i, и %u:
%c и %s:
F:
%o, %x, %X, %e, %E, %g, и %G:
|
Цвет | Вход Intensity — Скалярное значение использовало для всех векторов символов или вектора из значений интенсивности, длина которых равна количеству векторов символов. Цветной вход — Трехэлементный вектор, который задает один цвет для всех векторов символов или anM-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), блок принимает, что входной буфер содержит непрерывные элементы данных из первой строки сначала, затем элементы данных из второй второй строки, и так далее через последнюю строку. Используйте эту функциональность только, когда вы будете соответствовать всем следующим критериям:
Вы разрабатываете алгоритмы, чтобы работать на целевом процессоре, который использует упорядоченный по строкам формат.
Вы хотите ограничить дополнительную обработку, требуемую взять транспонирование сигналов в интерфейсах упорядоченных по строкам и упорядоченных по столбцам систем.
Когда вы используете упорядоченную по строкам функциональность, необходимо рассмотреть следующие проблемы:
Когда вы устанавливаете этот флажок, первые две размерности сигнала входа блока Insert Text подкачиваются.
Все блоки программного обеспечения Computer Vision Toolbox могут использоваться, чтобы обработать данные, которые находятся в упорядоченном по строкам формате, но необходимо знать размеры изображения, когда вы разрабатываете свои алгоритмы.
Например, если вы используете 2D блок FIR Filter, необходимо проверить, что коэффициенты фильтра транспонированы. Если вы используете блок Rotate, необходимо использовать отрицательные углы поворота и т.д.
Только три блока имеют флажок Input image is transposed (data order is row major). Они - Передискретизация Цветности, Деинтерлейсинг, и Вставляют текстовые блоки. Необходимо установить этот флажок, чтобы добавить упорядоченную по строкам функциональность в этих блоках. Все другие блоки должны быть правильно сконфигурированы, чтобы обработать данные в упорядоченном по строкам формате.
Используйте следующий двухступенчатый рабочий процесс, чтобы разработать алгоритмы в упорядоченном по строкам формате, чтобы работать на целевом процессоре.
Задайте вектор текстового символа, который будет чертиться на изображении или видеопотоке. Этот параметр может быть одним вектором текстового символа, таким как '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 появляется на блоке.
Задайте непрозрачность текста. Этот параметр отображается, если для параметра 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.
Задайте как к вводу и выводу цветной видеосигнал. Если вы выбираете One multidimensional signal
, блок принимает M-by-N-by-P цветной видеосигнал, где P является количеством цветных плоскостей в одном порте. Если вы выбираете Separate color signals
, дополнительные порты появляются на блоке. Каждый порт принимает один M-by-N плоскость видеопотока RGB.
Когда вы устанавливаете этот флажок, блок принимает, что входной буфер содержит элементы данных из первой строки сначала, затем элементы данных из второй второй строки, и так далее через последнюю строку.
Задайте шрифт своего текста. Блок заполняет этот список со шрифтами, установленными в вашей системе. На Windows, поиски блока системный реестр для файлов шрифтов. На UNIX, поиски блока путь к шрифту X-сервера для файлов шрифтов.
Задайте размер шрифта.
Установите этот флажок, если вы хотите, чтобы блок сглаживал ребра текста. Это может быть в вычислительном отношении дорого. Если вы хотите, чтобы ваша модель запустилась быстрее, снимите этот флажок.
Computer Vision Toolbox | |
Computer Vision Toolbox |