失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab 动态存储图片 Matlab刷新图像及保存.gif动图的简单方法

matlab 动态存储图片 Matlab刷新图像及保存.gif动图的简单方法

时间:2019-04-07 01:53:52

相关推荐

matlab 动态存储图片 Matlab刷新图像及保存.gif动图的简单方法

​​

有很多时候我们需要在PPT中展示一个动态变化的图像,这就需要不断刷新绘图以及保存独立的动画或者视频,matlab对于这一功能有非常完善的支持。

查文档就有还非要写报告,我摸鱼的时间也很宝贵的好么,MDZZ。

​figure(5)

filename = 'PEZ.gif';

set (gcf,'Position',[400,100,650,600], 'color','w')

ox=0;oy=-5;angle=0:pi/50:2*pi;

hPU=plot(ox,oy,'o','MarkerFaceColor','r','MarkerSize',7);hold

on;

hSU=plot(locSU(:,1),locSU(:,2),'o','MarkerFaceColor','y','MarkerSize',5);hold

on;

hAP=plot(locAP(:,1),locAP(:,2),'^','MarkerFaceColor','b','MarkerSize',6);hold

on;

r = rPEZ(1); grid on;

x1 = ox r*cos(angle); y1 = oy r*sin(angle);

hPEZ=plot(x1,y1,'XDataSource','x1','YDataSource','y1');

legend([hPU hSU hAP hPEZ],'PU','SU','AP','PEZ')

xlabel('x-axis (m)')

ylabel('y-axis (m)')

for i=2:2:1440

r = rPEZ(i);

x1 = ox r*cos(angle);y1 = oy

r*sin(angle);

title(['Radius of PEZ when Reqired Resource is '

num2str(reqRB(i)) ' MiB'])

refreshdata(hPEZ)

drawnow

f = getframe(gcf);

imind = frame2im(f); [imind,cm] = rgb2ind(imind,256);

if i ==

2

imwrite(imind,cm,filename,'gif',

'Loopcount',inf,'DelayTime',0.05);

else

imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.05);

end

end

​这是一个简单的保存动图的代码。蓝色的是刷新绘图的命令,红色的是保存图片的命令(保存后的文件在你选择的matlab路径中)。

刷新绘图一般用drawnow和refreshdata两个命令。

drawnow用来刷新绘图,绘图中的参数和数据一般通过图线属性来控制(我不知道怎么翻译)。

hPEZ=plot(x1,y1,'XDataSource','x1','YDataSource','y1');

这里就需要说明绘图中X轴和Y轴的数据,注意需要写个轮子刷新,参见,

/help/matlab/ref/refreshdata.html

设置好了以后直接drawnow,就可以绘图,参见,

/help/matlab/ref/drawnow.html

这样就可以刷新绘图了。

保存gif的话看红色命令就可以,保存到.avi的话用moive2avi。

几个主要命令:

frame2im --

/help/matlab/ref/frame2im.html

imwrite --

/help/matlab/ref/imwrite.html

getframe --

/help/matlab/ref/getframe.html

#EOF

​​​​

如果觉得《matlab 动态存储图片 Matlab刷新图像及保存.gif动图的简单方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。