保存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~~~~~~~~~~