adding noise to images

1 view (last 30 days)
Kamyar Mazarei
Kamyar Mazarei on 15 Apr 2021
Edited: David Hill on 15 Apr 2021
hi
i need to add x% noise ONLY to black areas of my image (image is grayscale) so x% of the black areas be replaced with white (changing 0 to 255)

Answers (1)

David Hill
David Hill on 15 Apr 2021
Edited: David Hill on 15 Apr 2021
black=find(image==0);
white=randperm(length(black),floor(x/100*length(black)));
image(white)=uint8(255);
  2 Comments
Kamyar Mazarei
Kamyar Mazarei on 15 Apr 2021
Edited: Kamyar Mazarei on 15 Apr 2021
thanks for the reply
but it works only to a small part of the image
like if i make x=100 it will remove only a small part of the image
the nosie isnt being added to the whole image
can you hlep please
thank you
David Hill
David Hill on 15 Apr 2021
Edited: David Hill on 15 Apr 2021
You could put in a range. My guess is that you think it is black but is not (==0).
black=find(image<10);%change range until you are satisfied.

Sign in to comment.

Categories

Find more on Convert Image Type 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!