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

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)

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

Asked:

on 21 Feb 2020

Edited:

on 21 Feb 2020

Community Treasure Hunt

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

Start Hunting!