matlab如何保存figure中去掉白边的图片
输出图片成可直接调入的灰度图,设置输出图片空白边距,以及调整图片大小,纵横比。
一、先显示图片,imshow。如果是plot,或者newplot,直接看“三”。
imshow(strain_image,'border','tight','initialmagnification','fit');
%'border','tight'的组合功能意思是去掉图像周边空白
%'InitialMagnification','fit'组合的意思是图像填充整个figure窗口
二、设置窗口大小。只设置窗口大小就行,数组含义:[left bottom width height]。我是设成正方形。
set (gcf,'Position',[0,0,512,512])
顺便提一下,默认plot的position是 [232 246 560 420]
三、使图片填充整个figure,也就是成规定的形状。
axis normal;
一般的用plot函数画的图像只需要set(gca,'position',[0 0 1 1])就可以达到目的,但是imshow的函数里使用了axis image,保持了图像的比例,所以必须用axis normal改回来.才会伸缩图像填充这个figure区域.否则只能手动调整图像的大小,比例合适时空白也会消失。
如果要控制插值方式,就要用imresize命令。
四、保存,只能用菜单里的“save as...”或者saveas命令
saveas(gca,'meanshape.bmp','bmp');
总结,就是下面四条命令:
imshow(strain_image,'border','tight','initialmagnification','fit');
set (gcf,'Position',[0,0,500,500]);
axis normal;
saveas(gca,'meanshape.bmp','bmp');
From: http://blog.csdn.net/gxuan/article/details/8768026