Error reading images from file

2 visualizaciones (últimos 30 días)
Mia
Mia el 13 de Mayo de 2020
Comentada: Mario Malic el 13 de Mayo de 2020
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?

Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Mayo de 2020
tiffile = dir( fullfile(folder, '*.tif'));
and
mydata{k} = imread( fullfile(folder, tiffile(k).name) );
  1 comentario
Mia
Mia el 13 de Mayo de 2020
Ah thank you so much! That works perfectly, have a lovely day!

Iniciar sesión para comentar.

Más respuestas (1)

Mario Malic
Mario Malic el 13 de Mayo de 2020
The extra backward slash should do it.
folder = uigetdir('C:\Users\Mia\Documents\Project (SD)\DB1_B\');
  2 comentarios
Walter Roberson
Walter Roberson el 13 de Mayo de 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 el 13 de Mayo de 2020
My bad.

Iniciar sesión para comentar.

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by