異なる仕様の画像を生成するプログラムを MATLAB で作成しましたが、これらの仕様のいずれかを変更するたびに、別の名前とパスで画像を再保存する必要がありました。そこで、これらの仕様を変更するために for ループを作ったのですが、生成された画像を別の名前と別のパスで MATLAB に保存させる方法がわかりません...
–loopの一部として、生成された複数の画像を異なる名前と異なるパスで MATLAB に保存するプログラムを作成するにはどうすればよいfor
ですか?
異なる仕様の画像を生成するプログラムを MATLAB で作成しましたが、これらの仕様のいずれかを変更するたびに、別の名前とパスで画像を再保存する必要がありました。そこで、これらの仕様を変更するために for ループを作ったのですが、生成された画像を別の名前と別のパスで MATLAB に保存させる方法がわかりません...
–loopの一部として、生成された複数の画像を異なる名前と異なるパスで MATLAB に保存するプログラムを作成するにはどうすればよいfor
ですか?
ループの最後に次のようなものを置きます。
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
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
。
ループ内のプロットを現在の作業ディレクトリ (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