MATLAB 保存imshow绘制图片到指定文件夹中的两种方法
imwrite函数
imwrite(image,filename)
imwrite(image,filename)是将图像数据image写入到filename 指定的文件中去。由于在matlab中字符串拼接是用[]进行连接的,可以在[position,name,type]中根据所需,填写需要写入的地址,文件名和文件后缀
imwrite(data.image,['image/',num2str(i),'.jpg']);
imwrite(image,map,filename)
将image中的索引图像及其关联的颜色图map写入到由filename指定的文件
imwrite(data.image,bluebar,['image/',num2str(i),'.jpg']);
saveas函数
除了imwrite保存图像外,matlab还提供了saveas函数进行图像保存。值得注意的是imwrite是将图像的数据文件直接转换为图像,而saveas函数则更倾向于将imshow窗口显示的图像保存下来
saveas(fig,filename,formattype)
使用指定的文件格式 formattype
创建文件。如果不在文件名中指定文件扩展名(例如 'myplot'
),则与指定的格式对应的标准扩展名会自动附加到文件名后面。如果指定了文件扩展名,该扩展名不必与文件格式相匹配。saveas
为该格式使用 formattype
,但会将文件保存为指定的扩展名。因此,文件扩展名可能与使用的实际格式不匹配。
saveas(gcf,['image/',num2str(i)],'jpg');
我们需要特别的注意的是,saveas函数在保存的时候可能会产生白边,用户在使用的过程中需要根据所需设定imshow显示窗口的大小
set(gcf,'Position',[0,0,400,648]);
[xposition,yposition,width,height]