【问题标题】:MATLAB:: Drawing a number on a image (Matrix) on MATLABMATLAB:: 在 MATLAB 上的图像(矩阵)上绘制数字
【发布时间】:2012-01-15 02:44:33
【问题描述】:

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

我在图片上画了网格线 (我已经在堆栈溢出的某个地方发布了如何执行此操作的代码)。

我的问题是,由于在 X 轴和 Y 轴上对图像进行网格化,我可能有 1000 个正方形。

我想为该图像中的方块编号。

在 Matlab 上是否有绘制数字的选项? 我很高兴收到有关此的任何信息(除了作为一个点击猴子并在油漆上写 0 到 1000 哈哈...)。

干杯

【问题讨论】:

    标签: image matlab photo photolibrary matlab-figure


    【解决方案1】:

    这是一个将文本标签放在网格中间的图像上的代码示例:

    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');
    

    【讨论】:

    • 如果您想捕获生成的图像并将其存储到磁盘,您可能需要查看this related question
    【解决方案2】:

    使用text

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

    text(x,y,'string') 将引号中的字符串添加到指定位置 顺便说一下 (x,y) xy 必须是双精度类的数字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 2015-02-23
      相关资源
      最近更新 更多