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 Comments

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.

Sign in to comment.

Answers (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

Categories

Find more on Convert Image Type in Help Center and File Exchange

Asked:

RB
on 6 Oct 2017

Commented:

on 9 Oct 2017

Community Treasure Hunt

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

Start Hunting!