MATLAB Answers

Guide Multiple Axes to display images

3 views (last 30 days)
Irene Anthi
Irene Anthi on 20 Apr 2015
Answered: Robert Cumming on 20 Apr 2015
Hi,
so I have a guide that has 10 axes. I also have a button to load images from directory. (using dir)
I need to plot these images into the axes I have already designed in GUIDE.
I have written a loop but it doesn't work as it should. If I choose more than 4 images it will plot just the 1st in 4 different axes and so on.
I have something like this:
srcFiles = dir('*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = srcFiles(i).name;
I = imread(filename);
hAxes = finobj(gcf, 'type' ,'axes');
axes(handles.axes1);
imshow(I);
end
I would appreciate your reply.

  0 Comments

Sign in to comment.

Answers (1)

Robert Cumming
Robert Cumming on 20 Apr 2015
You find all the axes objects but do nothing with them...
I guess you want:
rcFiles = dir('*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = srcFiles(i).name;
I = imread(filename);
% Build the handles variable for the axes name dynamically
axesName = sprintf('axes%d',i));
%Get the handle to the axes
ax = handles.(axesname)
% Explicitly tell imshow which axes to plot it.
imshow(I, 'Parent', ax);
end

  0 Comments

Sign in to comment.