Loading and processing multiple images using uigetfile

Hi,
I was wondering whether it is possible to load multiple images using uigetfile. I know how to do it with one file:
[FileName, FilePath]= uigetfile('.TIF','Select File to Open');
%If user does not select file
if [FileName,FilePath] == 0;
return;
end
I_M = imread(fullfile(FilePath, FileName));
But I'm wondering how I can use the multiselect feature with uigetfile
[file,path] = uigetfile('*.TIF','Select One or More Files','MultiSelect', 'on');
And then read multiple images using imread that runs with a for loop, something like this:
for count=1:total_images_selected
images{count}=imread(%not quite sure what to put here);
%Some analysis afterwards that basically sums the matrix values in a processed image
end
Any help would be appreciated!

 Respuesta aceptada

Voss
Voss el 17 de Jun. de 2020
Looks like you almost had it, but just to fill in the "%not quite sure what to put here" part:
[file,path] = uigetfile('*.TIF','Select One or More Files','MultiSelect', 'on');
if isequal(file,0)
return
end
total_images_selected = numel(file);
images = cell(1,total_images_selected);
for count = 1:total_images_selected
images{count} = imread(fullfile(path,file{count}));
% analysis
end

2 comentarios

Thanks so much!
Chances are you don't need to save all your images in a cell array, which could eat up all your memory. You can probably just process them right then and there in the loop.

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 17 de Jun. de 2020

Comentada:

el 18 de Jun. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by