Borrar filtros
Borrar filtros

I want to use a folder of images in matlab ..I tried but it comes to error..pls help me to point out error

1 visualización (últimos 30 días)
This is the program that I have tested:
% Get a list of all files in the folder with the desired file name pattern.
filePattern = fullfile('C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg');
imagefile = dir(filePattern);
nfiles=length(imagefile)
for k = 1 : nfiles
imageName = imagefile(k).name;
fullFileName = fullfile('C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg', imageName);
fprintf(1, 'Now reading %s\n', fullFileName)
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
imageArray = imread('C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg');
imshow(imageArray); % Display image.
drawnow; % Force display to update immediately.
end
and error comes as following:
nfiles =
70
Now reading C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg\im.jpg
??? Error using ==> imread at 357
Can't open file "C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg"
for reading;
you may not have read permission.
Error in ==> see at 11
imageArray = imread('C:\Program
Files\MATLAB\R2009a\bin\fundus\*.jpg');
  2 comentarios
Rik
Rik el 20 de Sept. de 2017
Why don't you use the debugger to go through your code to execute it line by line. The code you have in your post is very difficult to read with this lay-out, but I expect there is something wrong with how you generate the files names to be feed to imread, which is why it surprises me it doesn't error at n=1.

Iniciar sesión para comentar.

Respuesta aceptada

Tim Berk
Tim Berk el 20 de Sept. de 2017
Editada: Tim Berk el 20 de Sept. de 2017
% Get a list of all files in the folder with the desired file name pattern.
filePattern = fullfile('*.eps');
imagefile = dir(filePattern);
nfiles=length(imagefile);
for k = 1 : nfiles
imageName = imagefile(k).name;
fullFileName = fullfile('C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg', imageName);
fprintf(1, 'Now reading %s\n', fullFileName)
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
imageArray = imread('C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg');
imshow(imageArray); % Display image.
drawnow; % Force display to update immediately.
end
If you would go through it line-by-line, you would see that
fullFileName = 'C:\Program Files\MATLAB\R2009a\bin\fundus\*.jpg\im.jpg'
This is because you already have the file name in imageName and are combining this with the ...\*.jpg
Just change this line to
fullFileName = fullfile('C:\Program Files\MATLAB\R2009a\bin\fundus\', imageName);
To get the proper file name.
Now you need to actually use this name, i.e.
imageArray = imread(fullFileName);

Más respuestas (0)

Categorías

Más información sobre Agriculture en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by