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?

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 13 Mai 2020

0 Stimmen

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

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mario Malic
Mario Malic am 13 Mai 2020

0 Stimmen

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

2 Kommentare

Walter Roberson
Walter Roberson am 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 am 13 Mai 2020
My bad.

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by