I want to use a folder of images in matlab ..I tried but it comes to error..pls help me to point out error
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
seema dhotre
il 20 Set 2017
Modificato: Walter Roberson
il 21 Set 2017
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 Commenti
Rik
il 20 Set 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.
Risposta accettata
Tim Berk
il 20 Set 2017
Modificato: Tim Berk
il 20 Set 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);
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Get Started with MATLAB in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!