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 commentaires

James Tursa
James Tursa le 6 Oct 2017
Why can't you just include the path as part of the name when you save the files?
RB
RB le 9 Oct 2017
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!
Image Analyst
Image Analyst le 9 Oct 2017
Modifié(e) : Image Analyst le 9 Oct 2017
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.

Connectez-vous pour commenter.

Réponses (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

Catégories

Question posée :

RB
le 6 Oct 2017

Community Treasure Hunt

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

Start Hunting!

Translated by