我正在使用R2011a Matlab版本。我需要在图像上插入数值
我引用了这个link,但在该链接中,他们只提到了如何在图像上插入 text 。
这个answer也不适用于我的Matlab版本。
有人可以帮帮我吗?
答案 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');
有关格式化图像顶部文本的详细信息和选项,请参阅text
。
如果您想实际保存更改的像素值(表示图像顶部的文字),您可以使用getframe
捕获图形:
fr = getframe(fh);
image_with_text = fr.cdata;