Matlab 批量保存图像的方法
说是原创吧,其实还是看了别人的写在这里的而已。
因为自己matlab保存图像的命令早就忘记了,以前也不注意这些东西,结果现在想再写写代码总觉得找不到,好吧,那就把别人总结的方法放在这里吧。
只是方便自己以后查阅而已,如果写错了还望大家指教,就不要当做绝对正确的指导了
只讨论命令~
先是我现在使用的命令,saveas,代码如下
for i_notime = 1:tmp_n
name = sprintf('%s_%s-%d%d%d%d%d%d_%d.jpg',name1,name2,round(clock),i__notime);
saveas(gcf,name);
close(gcf);
end
这一段主要是为了方便我把图像从最后开始保存,然后关掉,其中gcf是当前的图像的句柄。当然了,这里顺便提到了clock这个变量,暂且不表。
saveas的好处呢,主要是和我点击另存为的效果是一样的,而且基本不需要知道figure的名字,如果tmp_n多了的话,他会自动保存几个空图像。
以前使用的函数,是print函数,代码段如下:
for i_notime = 1:tmp_n
name = sprintf('%s_%s-%d%d%d%d%d%d_%d.bmp',name1,name2,round(clock),i_notime);
print(i_notime,'-dbmp',name);
end
以前我的图像都是保存为bmp格式的,print是需要figure的1,2,3这类东西的,所以一旦找不到会提示你error handler之类的错误,我也是后来才知道print还真的是print呢,是把图像所在区域照相一般的保存下来,如果此时图像区域叠有另一幅图像的话,会不是我们想要的东西哦。