MATLAB Answers

how to read images one by one from folder for operation using for loop

9 views (last 30 days)
shital shinde
shital shinde on 21 Feb 2020
Edited: Jakob B. Nielsen on 21 Feb 2020
I have dataset of natural images. And my task is to add some noise in all image and then denoise them. I cant' rename that 5600 image manually. Will anybody please tell me how to use for loop to read each image one by one from the folder without modifying name of images.

Answers (1)

Jakob B. Nielsen
Jakob B. Nielsen on 21 Feb 2020
Edited: Jakob B. Nielsen on 21 Feb 2020
I like to use the multiselect function of uigetfile as an input to a for loop:
[Names,Paths]=uigetfile({'*.img*'},'MultiSelect','on'); %or whatever file extension your images have
entirefile=fullfile(Paths,Names);
for i=1:numel(entirefile) %loop will run a number of times equal to the number of files you selected
%load your image using whichever function you prefer, by
%calling e.g. load(entirefile{i}) (note curly brackets)
%a good way to keep your workspace clean while retaining all images loaded is to load them into a structure, e.g.
imgstruc(i).raw=yourrawimage;
imgstruc(i).noised=addsomenoise
%and so on.
end

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!