MATLAB ::在MATLAB上绘制图像上的数字(矩阵)

时间:2011-12-07 15:28:36

标签: image matlab photo photolibrary matlab-figure

我正在使用matlab来对图像进行修改。 我在Matlab上加载了一个图像。 (图像可能有不同的分辨率) 将图像转换为灰度,然后将图像的矩阵转换为double。

我在图像上绘制了网格线 (我已经发布了代码如何在堆栈上的某处执行此操作)。

我的问题是,由于在X轴和Y轴上对图像进行束缚,我可能在1000个方格上。

我想对该图像中的方块进行编号。

是否可以在Matlab上绘制数字? 我很乐意收到任何有关这方面的信息(除了点击猴子并写上0到1000的油漆哈哈......)。

干杯 S

2 个答案:

答案 0 :(得分:7)

下面是一个代码示例,用于将文本标签放在网格中间的图像上:

x = imread('cameraman.tif');
image(x)
axis image
grid on
%# grid domains
xg = 0:50:200;
yg = 0:50:200;
%# label coordinates
[xlbl, ylbl] = meshgrid(xg+25, yg+25);
%# create cell arrays of number labels
lbl = strtrim(cellstr(num2str((1:numel(xlbl))')));
text(xlbl(:), ylbl(:), lbl(:),'color','w',...
    'HorizontalAlignment','center','VerticalAlignment','middle');

enter image description here

答案 1 :(得分:3)

使用text

  

text是用于创建文本图形对象的低级函数。使用   text将字符串放在指定的位置。

     

text(x,y,'string')将引号中的字符串添加到指定的位置   截至(xyxy必须是类double的数字。