I want to do a knob for salt and pepper noise but the value of the noise dose not change

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Chris
Chris il 14 Gen 2023
Modificato: Chris il 14 Gen 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

Più risposte (1)

Image Analyst
Image Analyst il 14 Gen 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);

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by