24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2335  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

001574634690

银虫 (正式写手)

[求助] matlab如何保存gif图片

我的7.0怎么没有gif格式选择?如何保存为gif图片呢?

这是我的程序,出来的是动画,我想保存为gif,但是发现save as里面没有gif格式,咋办?

t=0:0.005:8;
x=-10:0.1:10;
a=1;
[X,T]=meshgrid (x,t);
xpat=X+a*T;
xpat (find (xpat<=0))=0;
xpat (find (xpat>=1))=1;
xmat=X-a*T;
xmat (find (xmat<=0))=0;
xmat (find (xmat>=1))=1;
jf=1/2/a*(xpat-xmat);
h=plot (x,jf (1,,'linewidth',1);
set (h,'erasemode','xor');
axis ([-10 10 -1 1]);
hold on
for j=1:length (t)
    pause (0.01)
    set (h,'ydata',jf (j,);
    drawnow
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

001574634690

银虫 (正式写手)

引用回帖:
4楼: Originally posted by libralibra at 2012-12-05 21:12:02
这样就行了,会保存成aiv
scrsz = get(0,'ScreenSize');
for i=1:length (t)
fig=figure;
% 你的plot代码
set(fig,'Position',scrsz);
M(i)=getframe(fig);
close;
end
movie2avi(M,'out.avi', 'compressi ...

求具体方法或保存好为gif后上传下,我没搞定,谢谢
CODE:
t=0:0.005:8;
x=-10:0.1:10;
a=1;
[X,T]=meshgrid (x,t);
xpat=X+a*T;
xpat (find (xpat<=0))=0;
xpat (find (xpat>=1))=1;
xmat=X-a*T;
xmat (find (xmat<=0))=0;
xmat (find (xmat>=1))=1;
jf=1/2/a*(xpat-xmat);
h=plot (x,jf (1,:),'linewidth',1);
set (h,'erasemode','xor');
axis ([-10 10 -1 1]);
hold on
for j=1:length (t)
    pause (0.01)
    set (h,'ydata',jf (j,:));
    drawnow
end

5楼2012-12-06 09:40:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢骠骑将军 2012-12-05 21:59:52
001574634690: 金币+10, ★★★★★最佳答案, 能帮下忙么 2012-12-06 09:40:34
这样就行了,会保存成aiv
CODE:
scrsz = get(0,'ScreenSize');
for i=1:length (t)
fig=figure;
% 你的plot代码
set(fig,'Position',scrsz);
M(i)=getframe(fig);
close;
end
movie2avi(M,'out.avi', 'compression', 'none');

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-12-05 21:12:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

上面的是保存为avi视频,你要gif图的话需要这么写,连续读10副图片,生成gif,注意必须转成index图像,
CODE:
for i=1:10     
    Img=imread(['E:\test' mat2str(i) '.bmp']);  
    imshow(Img);  
    frame=getframe(gcf);  
    im=frame2im(frame);%制作gif文件,图像必须是index索引图像  
    [I,map]=rgb2ind(im,256);  
    imwrite(I,map,'face.gif','gif','DelayTime',0.1,'WriteMode','append','loopcount',inf);  
  
end

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
6楼2012-12-06 20:54:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见