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 (최근 30일)
이전 댓글 표시
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
Rik
2017년 9월 20일
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.
채택된 답변
Tim Berk
2017년 9월 20일
편집: Tim Berk
2017년 9월 20일
% 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);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!