how to update image preview axis when listbox gets updated?

Technical Source
2 min readJan 27, 2022

I have a matlab gui listbox (listbox1) that shows my images file name and another axis (images) to show image preview when user clicks on the file name in my listbox. I’ve created a button ‘refresh’ to update my listbox values. I managed to update my listbox but my axis is not updating. How do I update this axis as well?

function refreshListboxButton_Callback:    files = dir(fullfile(pwd,'*.jpg'));
handles.images = cell(1, numel(files));
for x = 1 : numel(files)
handles.images{x} = imread(fullfile(pwd,files(x).name));
imshow(handles.images{x});
end
set(handles.listbox1,'string',{files.name});
drawnow();

NOTE:-

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

You need to tell imshow() which axes to draw the image on, unless you only have one axes.

You are updating the content of the handles structure, so you need to consider whether you need to use guidata() to update the master copy of the handles structure. Where is your code getting the handles structure from? You are not passing in the handles structure so handles.images{x} could be creating a new handles structure, but you assume that handles.listbox1 exists. Your code cannot be getting handles by way of shared variable, as shared variables only work with static workspaces and static workspaces require that there be an “end” matching the “function” line but you do not have that “end”.

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.