我正在使用matlab来对图像进行修改。 我在Matlab上加载了一个图像。 (图像可能有不同的分辨率) 将图像转换为灰度,然后将图像的矩阵转换为double。
我在图像上绘制了网格线 (我已经发布了代码如何在堆栈上的某处执行此操作)。
我的问题是,由于在X轴和Y轴上对图像进行束缚,我可能在1000个方格上。
我想对该图像中的方块进行编号。
是否可以在Matlab上绘制数字? 我很乐意收到任何有关这方面的信息(除了点击猴子并写上0到1000的油漆哈哈......)。
干杯 S
答案 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');
答案 1 :(得分:3)
使用text
text
是用于创建文本图形对象的低级函数。使用text
将字符串放在指定的位置。
text(x,y,'string')
将引号中的字符串添加到指定的位置 截至(x
,y
)x
和y
必须是类double的数字。