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

2 views (last 30 days)
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
DGM
DGM on 25 Apr 2022
The pause(1) lines make the code wait for 1 second. If you don't want it to pause, don't use pause().

Sign in to comment.

More Answers (0)

Categories

Find more on Desktop 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!