I want to do a knob for salt and pepper noise but the value of the noise dose not change
3 views (last 30 days)
Show older comments
changingValue = event.Value;
input=im2gray(a); %a is my image
imshow(input,'Parent',app.UIAxes_2);
app.SaltpepperButton_2.Value=true;
J=input;
J =imnoise(J,'salt & pepper');
imshow(J,'Parent',app.UIAxes_2);
end
2 Comments
Accepted Answer
Chris
on 14 Jan 2023
Edited: Chris
on 14 Jan 2023
function UIAxesButtonDown(app, event)
% The default button style doesn't have a value.
% changingValue = event.Value;
% You can't grab "a" from nowhere. If you didn't generate it in
% this callback, or if you want to store it for later use,
% it should be a property of the app.
input=im2gray(app.a);
imshow(input,'Parent',app.UIAxes_2);
% app.SaltpepperButton_2.Value=true;
J=input;
J =imnoise(J,'salt & pepper');
% You just used these axes. Depending on your computer, or how
% Matlab optimizes the function,
% the change will be too fast to see/skipped over.
pause(.5)
imshow(J,'Parent',app.UIAxes_2);
end
0 Comments
More Answers (1)
Image Analyst
on 14 Jan 2023
You need to call imnoise with the parameter that controls the amount of noise added to the image. You get this value by getting the value of a slider or knob, or edit field, or however the user is going to indicate the level of noise to be added to the image. For example, if the noise density is controlled by a slider, in the slider callback
% Get noise level from the control on the GUI.
noiseDensity = app.sldNoiseDensity.Value;
% Apply this density to the noise-free image:
noisyImage = imnoise(originalImage, 'salt & pepper', noiseDensity);
0 Comments
See Also
Categories
Find more on Robotics 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!