I want to imread multiple selected files via uigetfile

1 view (last 30 days)
file=uigetfile('*.*', 'select a single file at a time', 'download', 'MultiSelect','on');
imagea = imread(file(1)); % It is impossible to convert from cell format to string format to use imread.
imageb = imread(file(2));

Answers (1)

DGM on 24 May 2022
Edited: DGM on 24 May 2022
This assumes that the images are all simple I/RGB images (not indexed images, no RGBA images or multiframe GIFs)
[fname dirname] = uigetfile('*.*', 'select a single file at a time', 'download', 'MultiSelect','on');
nfiles = numel(fname);
pileofimages = cell(nfiles,1);
for f = 1:nfiles
pileofimages{f} = imread(fullfile(dirname,fname{f}));
The images are stored in the cell array 'pileofimages' to avoid creating a drift of dynamically named variables and all the problems that entails.


Find more on Image Processing Toolbox in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!