Saving Output to Specified Folder Location

Hello, I currently have a code that creates 18 arrays and saves them as .tif files. The .tif files are saved in the same folder path where my input and my code are found. However, my end goal would be to save each array to a new folder. Any help would be greatly appreciated!

4 个评论

Why can't you just include the path as part of the name when you save the files?
This would be ideal! Currently I am saving files using: imwrite (logical(array), 'filename', 'Compression', 'none); How would I go about adding the file path to this code to save the array? Thank you!
For example
imageFolder = 'D:/whatever';
baseFileNameWithExtension = 'awesome.PNG';
fullFileName = fullfile(imageFolder, baseFileNameWithExtension);
% Convert any numerical array to uint8.
uint8Image = uint8(255 * mat2gray(array));
% Write to disk.
imwrite(uint8Image, fullFileName);
Did you see Walter's solution below before you posted the question?
... just like I showed below.

请先登录,再进行评论。

回答(1 个)

projectdir = 'TheParentDirectory\whatever';
for idx = 1 : 18
... generate YourArray
subdir = fullfile(projectdir, sprintf('ImageDir_%02d', idx));
if ~exist(subdir, 'dir')
mkdir(subdir);
end
filename = sprintf('Output_file_%02d.tif', idx);
fullname = fullfile(subdir, filename);
imwrite(YourArray, fullname);
end

类别

帮助中心File Exchange 中查找有关 Convert Image Type 的更多信息

提问:

RB
2017-10-6

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by