使用matlab保存图像

时间:2012-08-25 21:29:08

标签: matlab

我在matlab上制作了一个程序,用于生成不同规格的图像,但每次更改其中一个规格时,我都必须使用不同的名称和路径重新保存图像,所以我做了一个for循环来改变这些规格,但我不知道我不知道如何让matlab用不同的名字和不同的路径保存生成的图像 我如何编写一个程序来使matalb保存多个生成的图像,这些图像具有不同的名称和不同的路径作为for循环的一部分

3 个答案:

答案 0 :(得分:4)

在你的循环结束时加上这样的东西:

for i = 1:n
  <your loop code>
  file_name=sprintf('%d.jpg',i);  % assuming you are saving image as a .jpg
  imwrite(your_image, file_name);  % or something like this, however you choose to save your image
end

答案 1 :(得分:1)

如果您想保存JPEG,PNG等,请参阅@ AGS的帖子。如果要保存FIG文件,请使用

hgsave(gcf, file_name)

而不是imwrite行。还有

print('-djpeg', file_name)  %# for JPEG file (lossy)
print('-dpng', file_name)   %# for PNG file (lossless)

作为imwrite的替代方案。

答案 2 :(得分:0)

由于我想将循环中的图保存在我当前工作目录(pwd)的特定文件夹中,因此修改了我的命名例程,如下所示:

for s = 1:10
    for i = 1:10 
    <loop commands>
    end
end

% prints stimuli to folder created for them
file_name=sprintf('%s/eb_imgs/%0.3f.tif',pwd,s(i)); % pwd = path of present working  
                                                    % directory and s(i) = the value 
                                                    % of the changing variable
                                                    % that I wanted to document

file_name = /Users/Miriam/Documents/PSYC/eb_imgs/0.700.tif % how my filename appears
print('-dtiff', '-r300', file_name); % this saves my file to my desired location