向图中添加文本 - MATLAB

时间:2012-09-08 10:50:44

标签: matlab image-processing slider matlab-figure

我写了一个代码,显示一个数字分为2部分; 第一个显示主图像,第二个是显示其余图像的滑块。

现在我需要在主要部分添加文本(如“帮助”或“指南”文本)。 我该怎么办?

这是我的主要子代码:

    %# design GUI
    numSubs = 10; % Num of sub-images.
    mx = numImgs-numSubs+1;
    hFig = figure('Menubar','none');

    % The Main Image:
       hAx = axes('Position',[0 0.3 1 0.8], 'Parent',hFig);
hMainImg = imshow(img, 'Parent',hAx);

    % the slider
    hPanel = uipanel('Position',[0 0.04 1 0.26], 'Parent',hFig);
    uicontrol('Style','slider', 'Parent',hFig, ...
        'Callback',@slider_callback, ...
        'Units','normalized', 'Position',[0 0 1 0.04], ...
        'Value',1, 'Min',1, 'Max',mx, 'SliderStep',[1 10]./mx);


    subImg = zeros(numSubs,1);
    for i=1:numSubs
        %# create axis, show frame, hookup click callback
        hAx = axes('Parent',hPanel, ...
            'Position',[(i-1)/numSubs 0 1/numSubs 1]);
        % Load img number i
        name=frames(i).name;
        img=imread(name,'jpg');
        subImg(i) = imshow(img, 'Parent',hAx);
        value = i;
        set(subImg(i), 'ButtonDownFcn',{@click_callback value})
        axis(hAx, 'normal')
        hold off;
    end

有什么建议吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用这种结构:

hT = uicontrol('style', 'text', 'string', 'HELLO WORLD', 'position', [...])

它将在位置position的图中创建静态文本。您可以使用uicontrols'parent''units'的所有常规选项。

但是,由于您的图片位于axis,因此更好/更简单的方法是使用

hT = text(X, Y, 'HELLO WORLD')

XY轴中文本的所需坐标。

您可以通过set设置其他选项:

set(hT, 'color', 'r', 'backgroundcolor', 'k', 'fontsize', 10, ...)

您可以通过在模拟set(hT)对象上发出text来获取所有选项的列表。