Multiselect from listbox and apply to subplot
1 view (last 30 days)
Show older comments
Hi. I have a listbox that I populate with say 100 images from a particular directory. I want to be able to select 7 of them, rotate them 90 degrees and then display next to each other in a subplot.
This is my code below for a single image selection, (note that the x position of the position vector for subplot requires the user to change a number in an edit box).
Thanks Jason
ListOfImageNames = get(handles.listbox1, 'string')
baseImageFileName = strcat(cell2mat(ListOfImageNames(Selected)));
fullImageFileName = [folder '\' baseImageFileName]; % Prepend folder.
figure(100);
file=fullImageFileName
IM = imread(file);
IM=imrotate(IM,angle);
subpos
x=0.101*(subpos-1)
positionVector = [0.0+x, 0.8, 0.1, 0.1];
subplot('Position',positionVector);
%subplot(4,7,subpos);
imagesc(IM,[0 5000])
colormap (gray);
axis off;
set(gca,'ytick',[]);
set(gca,'xtick',[]);
0 Comments
Accepted Answer
Dishant Arora
on 18 Jun 2014
Change the max and min property of listbox. Refer this link : http://www.mathworks.in/help/matlab/ref/uicontrol_props.html#bqxoinq
If max-min >1, you can select multiple elements from listbox.
2 Comments
Dishant Arora
on 19 Jun 2014
Edited: Dishant Arora
on 19 Jun 2014
Use ctrl or shift key to access multiple items. Listbox callback is executed at every mouse click or keypress, so you might have to associate a push button with it to direct a callback. See this prototype:
function pushbutton1_callback(hObject , eventdata , handles)
fileNames = get(handles.listbox1 , 'string')
ind = get(handles.listbox1 , 'value')
filesToAccess = fileNames(ind)
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!