Как вставить цифровой текст в изображение?


Я использую версию R2011a Matlab.Мне нужно вставить числовые значения на изображение.
Я сослался на эту ссылку , но в этой ссылке они только упомянули,как вставить текст на изображение.
Этот ответ также не работает для моей версии Matlab.

Кто-нибудь может мне помочь?

1 2

1 ответ:

Во-первых, текстовые и числовые значения не являются differett : вы можете преобразовать любое числовое значение в текст (строку) с помощью sprintf:

 numeric = 10.453;
 as_text = sprintf('%.3f', numeric);

Теперь у вас есть текст '10.453' Вы можете поставить на изображение.


В качестве альтернативы, вы можете

 img = imread('football.jpg');
 fh = figure;
 imshow(img, 'border', 'tight');
 text( 'Position', [30, 50, 0], 'String', sprintf('%.3f', numeric), 'Color', 'w');

Вы получаете:
Введите описание изображения здесь

См.text для получения дополнительной информации и параметров форматирования текста поверх изображения.

Если вы действительно хотите сохранить измененные значения пикселей (представляющие текст поверх изображения) вы можете захватить рисунок с помощью getframe:

fr = getframe(fh);
image_with_text = fr.cdata;