MATLAB: How to fix an error in which the system could not read image from folder under loop, using “dir” function

dirfunctionMATLAB

I have the following code:
files = dir('1folder/*.bmp');
for k =1:length(files)
I = imread(files(k).name);
end
but I always got this error messege:
Error using imread (line 349)
File "picture-0000.bmp" does not exist.
but my bmp file is exist, in the original folder and in the files structure built by the dir function.
I would like to know how to fix this error…

Best Answer

If you specify the directory for the dir call then you also need to specify it when you read the file:
D = '1folder';
S = dir(fullfile(D,'*.bmp'));
for k = 1:numel(S)
I = imread(fullfile(D,S(k).name));
end