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

来源:互联网 发布:fcitx无法启动 ubuntu 编辑:程序博客网 时间:2024/05/14 18:42

输出图片成可直接调入的灰度图,设置输出图片空白边距,以及调整图片大小,纵横比。

 

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

原创粉丝点击