Display original and processed image simultaneously in different UIAxes in App Designer

1 view (last 30 days)
Beth Carreon
Beth Carreon on 24 Apr 2022
Commented: Beth Carreon on 25 Apr 2022
Is it possible to display the original image and processed image in GUI simultaneously? I have this code below and the result is that the images appear alternately. And the code stops after 1 image.
filePattern = fullfile(app.myFolder, '*.JPG'); % Change to whatever pattern you need.
theFiles = dir(filePattern);
for k = 1 : length(theFiles)
baseFileName = theFiles(k).name;
fullFileName = fullfile(theFiles(k).folder, baseFileName);
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
OrigImage = imread(fullFileName);
imshow(OrigImage, 'Parent', app.UIAxes); % Display image.
drawnow; % Force display to update immediately.
pause(1);
while k >= 1
a = rgb2gray(OrigImage);
imshow(a, 'Parent', app.UIAxes_2);
drawnow; % Force display to update immediately.
pause(1);
end
end

Accepted Answer

DGM
DGM on 24 Apr 2022
Edited: DGM on 24 Apr 2022
The images appear alternately because that's what the code plainly does. It shows one image, waits, shows another.
It doesn't stop after one image. It gets stuck in an infinite loop. There is no reason for this to be in a while loop, so just remove the loop.
while k >= 1
a = rgb2gray(OrigImage);
imshow(a, 'Parent', app.UIAxes_2);
drawnow; % Force display to update immediately.
pause(1);
end
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!