The directory of simulation

2 ビュー (過去 30 日間)
Zeynab Mousavikhamene
Zeynab Mousavikhamene 2019 年 11 月 2 日
編集済み: Walter Roberson 2019 年 11 月 2 日
I am using this code to get all images in a folder by user:
d = uigetdir(pwd, D);
imagefiles = dir(fullfile(d, '*.jpg'));
nfiles = length(imagefiles);
Then in a for loop I will do some calculations on the images:
k = 1:nfiles
currentfilename = imagefiles(k).name;
I = imread(currentfilename);
.
.
.
when running the code I get this error:
Error using imread>get_full_filename (line 568)
File "1.jpg" does not exist.
Error in imread (line 377)
fullname = get_full_filename(filename);
Error in DemoBoundary29sept2018edit3ReadsImagesfromfolder (line 30)
I = imread(currentfilename)
But 1.jpg exists in that folder. I think the reason is that the folder that the code is saved is different from folder that the images are.
Any idea how to solve the issue?

採用された回答

Walter Roberson
Walter Roberson 2019 年 11 月 2 日
編集済み: Walter Roberson 2019 年 11 月 2 日
currentfilename = fullfile(d, imagefiles(k).name);
The .name field returned by dir() never includes folder information: it is the basic file name (including extension) only.
Since R2015b or so, there is also a .folder field, so
currentfilename = fullfile(imagefiles(k).folder, imagefiles(k).name);
could be used. That is useful if you used wildcards in folder specifications.
I find it easier to attach the folder names before-hand:
filenames = fullfile(d, {imagefiles.name});
and then extract filenames{k} and use that.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by