matlab中如何保将显示出来的图像保存

在matlab中进行了5种边缘检测,多幅图像 ,想把这些检测的图像存在当前默认路径下的某个文件夹下,改用什么函数实现呢

1、直接另存为
在figure中使用菜单file——>saveas——>选择保存形式(fig,eps,jpeg,gif,png,bmp等),这个的缺点是另存为的图像清晰度有很大的牺牲
2、复制到剪贴板
在figure中使用菜单edit——>copy figure——>此时图像就复制到剪贴板了,我们可以借助其他软件(比如:绘图板)保存为需要的图片
3、saveas命令格式
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】
% saveas(figure_handle,filename,fileformat)
plot(1:10);
saveas(gcf,‘myfig.jpg’)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-02
plot(x) % 画图语句
F = getframe(gcf); %抓取图片
imwrite(F.cdata,'myfile.jpg'); %保存图片

路径应该可以在' '中修改,试试吧追问

if iscell(namefile)
cor_exactname=strcat(pathname,'cor_exact\',namefile{i}(1:end),'_cor_exact.txt');
else
cor_exactname=strcat(pathname,'cor_exact\',namefile(1:end),'_cor_exact.txt');
end

save cor_exactname.txt cor_exact -ascii
我想将cor_exactname.txt 保存到cor_exact文件夹中 但是名字为什么不按自己的要求命名,总显示cor_exactname.txt

追答

不好意思,刚午休了;

temp = 1231345; % 你想要存的变量内容
cor_exactname = 'dsds'; % 你的文件名,字符串类型的
path = sprintf('%s%s.txt','D:\cor_exact\',cor_exactname);
% 上面这句和C有点类似,%s表示用后面的字符串替换的意思 %d的话表示整型
save (path,'temp','-ascii');
% temp就是变量名,要加' '的,path就是上面的路径,注意D盘的cor_exact文件夹要事先创建好,需要matlab自己创建,就用mkdir('D:/','cor_exact');命令吧

追问

非常感谢呀 自己试了好半天都没改对
我的错误是不是这样:
1.在使用save命令时 系统把路径名认为是一个已经存在的文件夹 即使你把文件名设计成一个变化的名字 这个文件的名字也不会变化

2.像这种变化文件命名时要使用%s这种格式 类似于c语言的格式
3,使用save命令式,temp 要加‘ ’的

追答

我觉得我写的够简单了,会编程的基本都能改成自己想用的;
但是,我写这么多,居然还没别人一句“截图行不?”让你满意,很让我失望

追问

实在太不好意思了 我记得是把你的答案设置为满意答案的呀 不知道怎么变成了那个 很抱歉

追答

if iscell(namefile)
cor_exactname=strcat(pathname,'cor_exact\',namefile{i}(1:end),'_cor_exact.txt');
else
cor_exactname=strcat(pathname,'cor_exact\',namefile(1:end),'_cor_exact.txt');
end
path = sprintf('%s%s.txt','D:\cor_exact\',cor_exactname);
save (path,'cor_exact ','-ascii');

第2个回答  2012-03-01
截图行不?。。。。追问

向自动保存呀 要处理的图片量很大

本回答被提问者采纳