转自:http://www.zdh1909.com/html/matlab/16381.html
输出图片成可直接调入的灰度图,设置输出图片空白边距,以及调整图片大小,纵横比。
一、先显示图片,plot或者imshow无所谓。
imshow(strain_image,'border','tight','initialmagnification','fit');
%'border','tight'的组合功能意思是去掉图像周边空白
%'InitialMagnification','fit'组合的意思是图像填充整个figure窗口
源文档 <http://www.ilovematlab.cn/viewthread.php?tid=64587&>
二、设置窗口大小。只设置窗口大小就行,数组含义:[left bottom width height]。我是设成正方形。
set (gcf,'Position',[0,0,500,500])
顺便提一下,默认plot的position是 [232 246 560 420]
源文档 <http://wuzhi3495.blog.163.com/blog/static/11777398200912611912871/>
三、使图片填充整个figure,也就是成规定的形状。
axis normal;
一般的用plot函数画的图像只需要set(gca,'position',[0 0 1 1])就可以达到目的,但是imshow的函数里使用了axis image,保持了图像的比例,所以必须用axis normal改回来.才会伸缩图像填充这个figure区域.否则只能手动调整图像的大小,比例合适时空白也会消失.
源文档 <http://slowwind88.spaces.live.com/blog/cns!C76C0B9CAF5823DA!146.entry>
如果要控制插值方式,就要用imresize命令。
四、保存,只能用菜单里的“save as...”。
还没明白为什么。用命令saveas和imwrite都不行。而且保存下来的图片会被缩小到3/4。即使调整paperpositionmode和papersize也不行。
保存为pgm格式,即是8位的纯灰度图,无空白,无边框。以后可直接调入处理。如果写论文要加坐标轴标题什么的,自己处理下就行了。
总结,就是下面三条命令:
imshow(strain_image,'border','tight','initialmagnification','fit');
set (gcf,'Position',[0,0,500,500]);
axis normal;