保存plot所在部分,除去所有的空白(特么搞了我一整天)
畫好plot之后執行
set(gca,'position',[0 0 1 1],'units','normalized'); %save plot without blank
gca是指 plot axes
再設置圖像的像素(大小)
set(gcf,'Position',[0,0,map_size1,map_size2]);%set image size
注意這里面的map_size,太坑爹了,不能設置正常值,一定要除以一個系數,比如我想設置大小為1440*960大小,然后map_size1=1440/1.5625,map_size2=960/1.5625。這樣用saveas(gcf,'filename.png')保存圖像的像素才是你想要的。
不要問我為什么,我也不知道。為什么是1.5625,我也是測試了n多不同尺寸的圖像之后得到的系數,也找不到相關的支持,如果有人知道為什么一定要告訴我。
疊加圖像
疊加圖像很簡單,畫好一個plot或者imread進來一個圖像之后,hold on,繼續imread或者plot即可。
關鍵在于疊加圖像必然涉及到圖像透明色的設置。
最好采用png格式的圖像,imread進來之后有alpha通道可以直接設置透明色:
[I,map,alpha] =imread(room_map); %read image
hr=imshow(I);%show image
set(hr,'AlphaData',alpha);%set room map transparent color
就是那么easy~~~~~~~~~~