How to save multiple images in the same folder?

2 vues (au cours des 30 derniers jours)
Sahar abdalah
Sahar abdalah le 1 Jan 2016
hello, I have several images that are saved in different folders and I want to arrange theses images in a single folder. please, any suggestion of matlab code? thanks in advances

Réponse acceptée

Image Analyst
Image Analyst le 1 Jan 2016
Perhaps use my demo. In the middle of the loop is where you would stick a call to copyfile() or movefile().

Plus de réponses (1)

Walter Roberson
Walter Roberson le 1 Jan 2016
The function you supply would movefile()
Watch out for duplicate file names! Watch out for bugs while you get the code working...
If I were developing the code, I would refrain from moving the files unless I had good reason. I would either copy the files or I would create links to the files.
  2 commentaires
Sahar abdalah
Sahar abdalah le 1 Jan 2016
thank you for your reply, but I am new in matlab and I did not understand the importance of this link in the resolution of my problem. simply, I have images with different names and are stored in multiple folders, my goal is to copy all images in a single folder. I have a folder: flowers that contain 12 others folders (category 1, category 2, ......, category 12). and each folder contain a list of images corresponding to the category of flowers. my goal is to save these images in a new folder called flowerCategory. Any idea please for matlab code?
Walter Roberson
Walter Roberson le 4 Jan 2016
sourcedir = fullfile(pwd, 'flowers');
destdir = fullfile(pwd, 'flowerCategory');
if ~exist(destdir,'dir')
[success, message, messageid] = mkdir(destdir);
if ~success
error(messageid, sprintf('Failed to create directory "%s" because "%s"', destdir, message) );
end
end
%find the potential source directories
dinfo = dir( fullfile(sourcedir, 'category*') );
%remove everything that is not a directory
dinfo(~[dinfo.isdir]) = [];
for J = 1 : length(dinfo) %for each source directory
thisdir = fullfile(sourcedir, dinfo(J).name);
%find potential files in directory
finfo = dir( thisdir );
%get rid of the things that are not files
finfo([finfo.isdir]) = [];
for K = 1 : length(finfo) %for each file in directory
thisfile = fullfile(thisdir, finfo(K).name );
%make a copy of it
copyfile(thisfile, destdir);
end
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by