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