Hi,
I downloaded an image dataset called DB1_B, and I want to read all images into an array. I tried using dir() directly, but got an error, searched for a solution and found this instead, but I'm still getting errors?
folder = uigetdir('C:\Users\Mia\Documents\Project (SD)\DB1_B');
tiffile = dir(folder, '*.tif');
numfiles = length(tiffile);
mydata = cell(1,numfiles);
for k = 1:numfiles
mydata{k} = imread(tiffile(k).name)
end
Error using dir
Too many input arguments.
Error in NNexLBP (line 3)
tifffile = dir(folder, '*.tif');
Its 80 images if that makes a difference? I have a test code that successfully extracts one image by using
im = imread('C:\Users\Mia\Documents\Project (SD)\DB1_B\101_1.tif');
so I think it's directed correctly? The test code and the code I'm trying to use now are saved in different folders, but they're both saved under the 'project (SD)' folder if that makes a difference?

 Réponse acceptée

Walter Roberson
Walter Roberson le 13 Mai 2020

0 votes

tiffile = dir( fullfile(folder, '*.tif'));
and
mydata{k} = imread( fullfile(folder, tiffile(k).name) );

1 commentaire

Mia
Mia le 13 Mai 2020
Ah thank you so much! That works perfectly, have a lovely day!

Connectez-vous pour commenter.

Plus de réponses (1)

Mario Malic
Mario Malic le 13 Mai 2020

0 votes

The extra backward slash should do it.
folder = uigetdir('C:\Users\Mia\Documents\Project (SD)\DB1_B\');

2 commentaires

Walter Roberson
Walter Roberson le 13 Mai 2020
No, this is not actually correct. No matter what input you pass to uigetdir(), you do not know whether the output will end in a \ or / or not.
Mario Malic
Mario Malic le 13 Mai 2020
My bad.

Connectez-vous pour commenter.

Catégories

En savoir plus sur File Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by