【谷速软件】matlab源码-保存多个图像 getframe、imwrite、sprintf、num2strclear;clc;clf;
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
set(gcf,'color',[1 1 1]) %设置背景色为白色
title('测试图像保存')
F=getframe(gcf); % 获取整个窗口内容的图像
F1=getframe; % 获取坐标轴为界的图像
imwrite(F.cdata,'test1.png')
imwrite(F1.cdata,'test2.png')
=======================
getframe获得的是一个架构str...
clear;clc;clf;
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
set(gcf,'color',[1 1 1]) %设置背景色为白色
title('测试图像保存')
F=getframe(gcf); % 获取整个窗口内容的图像
F1=getframe; % 获取坐标轴为界的图像
imwrite(F.cdata,'test1.png')
imwrite(F1.cdata,'test2.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取消注释符后运行)
============================
% clear;clc;clf
% x=0:pi/100:2*pi;
% for kk=1:3
% plot(x,x.^kk)
% title(['y=x^',num2str(kk)])
% set(gcf,'color',[1 1 1])
% F(kk)=getframe(gcf);
% % imwrite(F(kk).cdata,['test-',num2str(kk),'.jpg'])
% imwrite(F(kk).cdata,['test-',sprintf('%03d',kk),'.png']) % 保存文件名序号为3位数,如位数不足前面补0
% end
help很好用,在主界面也可以直接调用,例如,运行
>>doc plot
本文档为【【谷速软件】matlab源码-保存多个图像 getframe、imwrite、sprintf、num2str】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。