adding noise to images

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)

Respuestas (1)

David Hill
David Hill el 15 de Abr. de 2021
Editada: David Hill el 15 de Abr. de 2021

0 votos

black=find(image==0);
white=randperm(length(black),floor(x/100*length(black)));
image(white)=uint8(255);

2 comentarios

Kamyar Mazarei
Kamyar Mazarei el 15 de Abr. de 2021
Editada: Kamyar Mazarei el 15 de Abr. de 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 el 15 de Abr. de 2021
Editada: David Hill el 15 de Abr. de 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.

Iniciar sesión para comentar.

Preguntada:

el 15 de Abr. de 2021

Editada:

el 15 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by