How to open multiple folders for processing?
Show older comments
I need to process images in the folder, and each folder contains many images.. how can I process images which are in multiple folder, which has to be open one at a time, process folder of images and continue to open another folder to process set of images available in it...?like this it should open folders and continue to process until all the folder specified are done...
Answers (3)
Paul Shoemaker
on 26 Mar 2018
0 votes
Hema,
Since you don't provide more concrete details about your specific circumstances (code, examples, purpose, etc), I will give a fairly broad answer that hopefully points you in the right direction.
Feel free to respond back with more details if the below ideas miss the mark.
Consider using the Matlab "dir" function to scan for files, which you can have run recursively in newer versions of Matlab. Another newer feature you could use is the "datastore" approach. Type help for either dir or datastore and you should get some good info to help with what you need.
Paul Shoemaker
4 Comments
hp
on 27 Mar 2018
Paul Shoemaker
on 27 Mar 2018
Ok Hema,
Check out the help for dir. I think it will do what you want, but again you have to have a fairly recent version of Matlab.
Use something like this
myFiles = dir(fullfile(Parent_Directory,'**/*.*'));
This will get all files in sub-folders, or modify "*.*" to be "*.png" or whatever file format you have.
Then you can do something like the below to cycle through all the returned files and process them.
for idx = 1:numel(myFiles)
currentFile = fullfile(myFiles(idx).folder,myFiles(idx).name);
% Do some processing below
end
Hope this helps solve your problem.
Paul Shoemaker
hp
on 31 Mar 2018
hp
on 3 Apr 2018
Image Analyst
on 27 Mar 2018
0 votes
See my attached demo to go into folders and subfolders getting filenames.
Navyasree K.S.
on 12 Dec 2020
0 votes
i need to read the images,they are in differents folders in a same file.the imaages are .jpg.please help me
1 Comment
Image Analyst
on 12 Dec 2020
You can use imageDatastore(), or use dir('**/*.jpg');
See the FAQ for code samples.
Don't use JPG images for image analysis if you can possibly avoid it. They have bad compression artifacts. Use PNG.
Categories
Find more on Image Sequences and Batch Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!