在Matlab中显示图片周围的文字

时间:2017-03-04 17:55:04

标签: matlab matlab-figure

我想在图片周围添加一些信息性文字,如下图所示。

enter image description here

我正在尝试将其添加为;

function BS =  check()

size=8;
pixelBox=60;

board=imread('abcd.jpg');
board(1,:,:)=255;
board(:,1,:)=255;
oneBox = round(size*pixelBox/size);

counter=0;
for iter = 1:size
    board(oneBox+counter,:,:)=255;
    board(:,oneBox+counter,:)=255;
    counter= counter+pixelBox; 
end

% myBox=uicontrol('style','text');
% set(myBox,'String','Shani is not a boy');
% set(myBox,'Position',[30,250,50,50]);

imshow(board);

end

我面临的问题是,在评论

的文本代码时
myBox=uicontrol('style','text');
set(myBox,'String','Shani is not a boy');
set(myBox,'Position',[30,250,50,50]);

图片展示了其完整尺寸。但是当我添加这个文本代码时,图片会调整为

enter image description here

为什么会这样?我想用完整的图片尺寸显示文字。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我使用truesize作为

解决了这个问题
imshow(board);
truesize

现在它在完整尺寸上按预期工作。

答案 1 :(得分:-1)

查找maltab函数title()。您必须按照显示图像的方式进行一些修改。而不是使用imshow,你必须这样做:

image = imread('foo.jpg');
figure, imshow(image), title('image foo');

使用这三个功能,您可以绘制您想要的内容。寻找title()函数,我想你可以改变标题位置。像这样:

 ..., title('image foo', 'HorizontalAlignment', 'left');