如果我使用saveas命令将多个图保存为图像,我该如何显示它们。我正在使用的代码是:
if we==1
figure()
saveas(gcf(),'myownfile.jpg'); % save the figure if condition is satisfied
clf % clear the figure after saving it
end
如果我们== 1,程序会检查条件,然后在保存图表后清除图形。它是功能的一部分。而在功能中保存为图像的图必须显示在主函数中。代码是:
p=imread('myownfile.jpg');% read the image
imshow(p); %show the image
但我得到一个空白的数字。我不知道为什么?
答案 0 :(得分:0)
()
可能导致某些问题后,您的代码中可能存在gcf
。
固定代码:
if we==1
figure()
saveas(gcf,'myownfile.jpg'); % save the figure if condition is satisfied
clf % clear the figure after saving it
end
答案 1 :(得分:0)
我总是使用print
命令,因为它可以让你获得更多控制权。
print(gcf, '-djpeg', '-r400', 'myownfile.jpg')
如果我不得不猜测你遇到的问题,我敢打赌你需要把它称为:saveas(gcf,'myownfile.jpg','jpg');
因为Matlab在这方面可能非常愚蠢。
另一个可能的问题是渲染器(使用get/set(gcf,'Renderer')
) - 其中一些无法保存。
答案 2 :(得分:0)
这是解决方案。感谢您的帮助。通过删除命令figure()
并在上面的代码中添加命令saveas(gcf(),strcat('myownpic',strcat(int2str(m1),'.jpg')));
将解决问题。