Displaying an image on UIAxes in App Designer that doesn't appear
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ahmed Mukhtar
le 13 Mai 2021
Commenté : Ahmed Mukhtar
le 14 Mai 2021
Hey there,
I've been trying to design a GUI in the app designer that estimates noise, it:
- Takes an image specified by the user, image appears on UIAxes2
- User selects a type of noise to add
- Image with noise added is displayed again on UIAxes2
Please advise.
The original selected image appears just fine but when I want the noisy image to appear, it doesn't. Here are screenshots of the code + the App
- Original Image button callback code
function UploadImageButtonPushed(app, event)
[filename,filepath] = uigetfile({ '*.*;*.jpg;*.png;*.bmp;*.oct' }, 'Select File to Open');
fullname = [filepath, filename];
file = imread(fullname);
global pic
pic=im2gray(file);
image1=im2double(pic);
imshow(image1, 'parent', app.UIAxes2)
end
2. Noisy image button callback code
% Button pushed function: ApplyNoiseButton
function ApplyNoiseButtonPushed(app, event)
global image1
global noisy
if (strcmp(app.SelectTypeofNoisetoAddDropDown.Value,'Salt & Pepper'))
noisy = imnoise(image1, 'salt & pepper');
elseif(strcmp(app.SelectTypeofNoisetoAddDropDown.Value, 'Gaussian'))
noisy = imnoise(image1, 'gaussian', 0, 0.01);
elseif(strcmp(app.SelectTypeofNoisetoAddDropDown.Value,'Speckle'))
noisy = imnoise(image1, 'speckle');
else
noisy=image1;
end
imshow(noisy,'parent', app.UIAxes2)
end
Screenshots of GUI:
0 commentaires
Réponse acceptée
Geoff Hayes
le 14 Mai 2021
Ahmed - I suspect the problem is with your variable for image1. It is declared as a global variable in ApplyNoiseButtonPushed function, but it is a local variable in the UploadImageButtonPushed function. I suppose that you could use pic instead or find an alternative to using global variables. Perhaps save the image as a property to the app object.
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!