2

異なる仕様の画像を生成するプログラムを MATLAB で作成しましたが、これらの仕様のいずれかを変更するたびに、別の名前とパスで画像を再保存する必要がありました。そこで、これらの仕様を変更するために for ループを作ったのですが、生成された画像を別の名前と別のパスで MATLAB に保存させる方法がわかりません...

–loopの一部として、生成された複数の画像を異なる名前と異なるパスで MATLAB に保存するプログラムを作成するにはどうすればよいforですか?

4

3 に答える 3

5

ループの最後に次のようなものを置きます。

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
于 2012-08-25T21:36:31.677 に答える
2

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

于 2012-08-25T22:29:38.237 に答える
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

于 2013-12-13T18:25:43.370 に答える