2017-03-04 48 views
0

我想在圖片上添加一些信息文字,如下圖所示。在Matlab中顯示圖片周圍的文字

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

爲什麼會這樣?我想用圖片的全部尺寸顯示文字。提前致謝。

+0

當圖中添加另一個對象時,現有座標軸/圖像/座標圖將縮小,以便爲新對象騰出空間。這種行爲是可以預料的,你可以通過'set'命令改變'Position'來調整圖片大小。另請參閱:https://www.mathworks.com/help/images/ref/truesize.html – Yvon

+0

@Yvon您可以參考我的例子嗎? – Humty

回答

0

我用它作爲truesize

imshow(board); 
truesize 

現在按預期工作完全尺寸解決。

-1

尋找maltab函數title()。你必須修改一下你展示圖片的方式。而不是使用imshow,你必須這樣做:

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

與這三個功能,你可以繪製你想要的。尋找標題()函數,我想你可以改變標題位置。事情是這樣的:

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

我們可以添加多個標題嗎?另外,我們可以添加圖片作爲標題嗎? – Humty

+1

這將添加一個標題,該標題位於軸的頂部*上。 「Horizo​​ntalAlignment」是盒子內部文本的對齊方式,而不是盒子的對齊方式。 – excaza