insertText

Вставка текста в изображение или видео

Описание

пример

RGB = insertText(I,position,text) возвращает изображение truecolor с text вставлен. Изображение входа, I, может быть либо труколором, либо полутоновым изображением.

пример

RGB = insertText(I,position,numericValue) возвращает изображение truecolor с вставленными числовыми значениями.

RGB = insertText(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

Прочтите изображение.

I = imread('board.tif');

Создайте тексты, которые содержат дроби.

text_str = cell(3,1);
conf_val = [85.212 98.76 78.342]; 
for ii=1:3
   text_str{ii} = ['Confidence: ' num2str(conf_val(ii),'%0.2f') '%'];
end

Определите положения и цвета текстовых полей.

position = [23 373;35 185;77 107]; 
box_color = {'red','green','yellow'};

Вставьте текст с новым размером шрифта, цветом коробки, непрозрачностью и цветом текста.

RGB = insertText(I,position,text_str,'FontSize',18,'BoxColor',...
    box_color,'BoxOpacity',0.4,'TextColor','white');

Отобразите изображение.

figure
imshow(RGB)
title('Board');

Figure contains an axes. The axes with title Board contains an object of type image.

Прочтите изображение.

I = imread('peppers.png');

Определите (x,_y_) положение для текста и значения.

position =  [1 50; 100 50];
value = [555 pi];

Вставьте текст, используя в качестве опорной точки левее внизу.

RGB = insertText(I,position,value,'AnchorPoint','LeftBottom');

Отобразите изображение с вставленным числовым текстом.

figure
imshow(RGB),title('Numeric values');

Figure contains an axes. The axes with title Numeric values contains an object of type image.

Отображение символа, отличного от ASCII (U + 014C)

OWithMacron=native2unicode([hex2dec('C5') hex2dec('8C')],'UTF-8');
RGB = insertText(RGB,[256 50],OWithMacron,'Font','LucidaBrightRegular','BoxColor','w');

Отобразите изображение с вставленным числовым текстом.

figure
imshow(RGB),title('Numeric values');

Figure contains an axes. The axes with title Numeric values contains an object of type image.

Входные параметры

свернуть все

Изображение входа, определенное как M изображением <reservedrangesplaceholder2>-by-3 truecolor или M N 2-м изображением оттенков серого.

Типы данных: single | double | int16 | uint8 | uint16

Текст в кодировке Юникод, заданный как одна текстовая строка UNICODE или массив ячеек из строк длины M UNICODE, где M количество строк в position. Функция перезаписывает пиксели значением text. Длина массива ячеек должна равняться количеству строк в position матрица. Если вы задаете одну строку, функция использует ее для всех позиций в position матрица. Большинство шрифтов Юникод содержат символы ASCII. Вы можете отображать символы, отличные от английского и английского, включая английские числовые значения, с одним шрифтом.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Текст числового значения, заданный как скаляр или вектор. Если вы задаете скалярное значение, это значение используется для всех положений. Длина вектора должна равняться количеству строк в position матрица. Числовые значения преобразуются в вектор символов с помощью sprintf формат '%0.5g'.

Типы данных: char

Положение вставленного текста, заданное как вектор или матрица M-на-2 с координатами [x y]. Каждая строка представляет координату [x y] для AnchorPoint ограничивающего прямоугольника текста.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'AnchorPoint', 'LeftTop'

Лицо шрифта текста, заданное как разделенная разделенными запятой парами, состоящая из 'Font'и вектор символов. Лицо шрифта должно быть одним из доступных шрифтов truetype, установленных в вашей системе. Чтобы получить список доступных шрифтов в вашей системе, введите listTrueTypeFonts в MATLAB® командная строка.

Типы данных: char

Размер шрифта, заданный как разделенная разделенными запятой парами, состоящая из 'FontSize' и положительное целое число в области значений [1200].

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Цвет текста, заданный как разделенная разделенными запятой парами, состоящая из 'TextColor' и вектор символов, массив ячеек векторов символов или матрицы. Можно задать другой цвет для каждого вектора символов или один цвет для всех векторов символов.

  • Чтобы задать цвет для каждого текстового вектора символов, задайте TextColor в массив ячеек с M количеством цветовых векторов символов. Или можно задать его в матрицу M -by-3 значений цветов векторов символов RGB.

  • Чтобы задать один цвет для всех текстовых векторов символов, задайте TextColor для вектора цветовых символов или вектора [R G B] с красными, зелеными и синими значениями.

  • Значения RGB должны быть в область значений типа данных изображений. Поддерживаемые цвета: 'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black', и 'white'.

Типы данных: cell | char | uint8 | uint16 | int16 | double | single

Цвет текстового поля, заданный как разделенная разделенными запятой парами, состоящая из 'BoxColor' и вектор символов, массив ячеек из вектора символов или матрицы. Вы можете задать другой цвет для каждого текстового поля или один цвет для всех блоков.

  • Чтобы задать цвет для каждого текстового поля, задайте BoxColor в массив ячеек с M количеством цветовых векторов символов. Или можно задать его в M -by-3 матрицу M количеством значений цвета RGB (красного, зеленого и синего) вектора.

  • Чтобы задать один цвет для всех текстовых полей, установите BoxColor либо к цветному вектору символов, либо к вектору [R G B]. Вектор [R G B] содержит красное, зеленое и синее значения.

  • Значения RGB должны быть в область значений типа данных изображений. Поддерживаемые цвета: 'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black', и 'white'.

Типы данных: cell | char | uint8 | uint16 | int16 | double | single

Непрозрачность текстового поля, заданная как разделенная разделенными запятой парами, состоящая из 'BoxOpacity'и скалярное значение в области значений [0,1]. Значение 0 соответствует полностью прозрачному текстовому полю или отсутствует. Значение 1 соответствует полностью непрозрачному текстовому полю.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Текстовое поле ссылки точка, заданная как разделенная запятой пара, состоящая из 'AnchorPoint'и значение вектора символов. Опорная точка задает относительное расположение в текстовом поле. Текстовое поле можно расположить путем размещения его якорной точки в координате [x, y], заданной соответствующим position для текста. Для примера разместить центр текстового поля в координате [x, y], заданной с position введите, затем установите AnchorPoint на Center.

Поддерживаемые позиции LeftTop, LeftCenter, LeftBottom, CenterTop, Center, CenterBottom, RightTop, RightCenter, и RightBottom.

Типы данных: char

Выходные аргументы

свернуть все

Выходное изображение, возвращенный как M -by- N -by-3 truecolor изображение с указанным текстом вставлено.

Ограничения

  • Если вы не видите символов в выходном изображении, это означает, что шрифт не содержал символа. Выберите другой шрифт. Чтобы получить список доступных шрифтов в системе, в приглашении подсказка MATLAB listTrueTypeFonts.

  • Увеличение размера шрифта также увеличивает время предварительной обработки и использование памяти.

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

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

.
Введенный в R2013a