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

Show the text around picture in Matlab

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

我正在尝试将其添加为;

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

显示的是图片的完整尺寸。但是当我添加这段文字代码时,图片大小调整为

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

寻找 maltab 函数 title()。您必须稍微修改显示图像的方式。而不是使用 imshow,你必须这样做:

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

有了这三个函数,你就可以画出你想要的。寻找 title() 函数,我猜你可以改变标题位置。像这样:

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

我使用 truesize 作为

解决了它
imshow(board);
truesize

现在它在完整维度上按预期工作。