如何在图像中插入数字文本?

时间:2016-07-14 06:13:11

标签: matlab image-processing plot

我正在使用R2011a Matlab版本。我需要在图像上插入数值 我引用了这个link,但在该链接中,他们只提到了如何在图像上插入 text
这个answer也不适用于我的Matlab版本。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

首先,文本和数值不是 differetnt :您可以使用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');

你得到:
enter image description here

有关格式化图像顶部文本的详细信息和选项,请参阅text

如果您想实际保存更改的像素值(表示图像顶部的文字),您可以使用getframe捕获图形:

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