'm trying to load all the images' names that exist in a particular folder that i selected using matlab GUI into a listbox.
the problem is that when i select the folder:
if it's empty, I can see the list empty with a white background color (which is the right thing).
But when i select a folder that contains images, the listbox disappears from the GUI. and i get a warning saying:
Warning: single-selection listbox control requires a scalar Value
Control will not be rendered until all of its parameter values are valid
i'm stuck in this issue for a long time, and i couldn't find a way to solve it.
here's the code i tried:
% --- Load up the listbox with tif files in folder handles.handles.ImageFolder
function handles=LoadImageList(handles) ListOfImageNames = {}; folder = handles.ImageFolder; if ~isempty(handles.ImageFolder) if exist(folder,'dir') == false warningMessage = sprintf('Note: the folder used when this program was last run:\n%s\ndoes not exist on this computer.\nPlease run Step 1 to select an image folder.', handles.ImageFolder); msgboxw(warningMessage); return; end else msgboxw('No folder specified as input for function LoadImageList.'); return; end % If it gets to here, the folder is good.
ImageFiles = dir([handles.ImageFolder '/*.*']); for Index = 1:length(ImageFiles) baseFileName = ImageFiles(Index).name; [folder, name, extension] = fileparts(baseFileName); extension = upper(extension); switch lower(extension) case {'.png', '.bmp', '.jpg', '.tif', '.avi'} % Allow only PNG, TIF, JPG, or BMP images
ListOfImageNames = [ListOfImageNames baseFileName]; otherwise end end set(handles.lstImageList,'string',ListOfImageNames); return
Best Answer