MATLAB如何输出无白边图片的操作方法

一、先显示图片,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;

你可能感兴趣的:(MATLAB如何输出无白边图片的操作方法)