4 Mar 2010
matlab保存图像的几个问题
figure最大化
方法一:
h = figure;
set(gcf,'outerposition',get(0,'screensize'));
方法二(by eight):h = figure;
set(gcf,'units','normalized','position',[0,0,1,1]);
============================
保存图像为png
getframe获得的是一个架构struct类型的数据,
其中cdata子域的内容才可以用imwrite内容保存,用F.cdata表示
getframe(gcf) 即get current figure,获得窗口内图像,包含legend、title以及label。如果不添加gcf,默认为gca(get current axis)。
imwrite 可以保存jpg、png等格式图像,gif是7.0添加的,但是好像没办法保存为动画,只能保存第一帧。
与在图像界面直接利用复制,或用file>save as...保存不同的是,imwrite的背景色为窗口实际颜色,默认为灰色(RGB表示为[.7 .7 .7]),若想保留白色背景图,需添加例子中的set gcf color命令。
=====================================================
保存多个图像时,顺序命名图像文件名称需用到 num2str 或 sprintf命令
num2str(kk) 将数字kk保存为字符
sprintf('格式',kk)将kk保存为需要格式的字符,尤其是图像多于10个名称需要前面补0时很好用
Note:保存多个图像时不要乱动电脑、切换窗口,getframe保存当前图像所在位置的屏幕图像,相当于截屏。如果激活其他窗口,可就没法保证截的啥了。
例:(使用ctrl+t取消注释符后运行)
============================
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment