Как добавить шум только к части изображения в Matlab? - PullRequest
0 голосов
/ 11 марта 2019

Я знаю, как добавить шум к изображению, используя функцию «imnoise», но я не понимал, как добавить шумовой патч только к части изображения, оставив остальную часть изображения нетронутой.

Не могли бы вы помочь?

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Вы можете добавить шум "на месте", не назначая переменную сложения, например так:

% Test image.
img = uint8(repmat([zeros(20), 255*ones(20); 255*ones(20) zeros(20)], 5, 5));

% Show test image before noise.
figure(1);
imshow(img);

% Add noise only to part of image.
img(20:60, 20:80) = imnoise(img(20:60, 20:80), 'gaussian');

% Show test image after noise.
figure(2);
imshow(img);
0 голосов
/ 11 марта 2019

Вероятно, самый простой способ - это взять область исходного изображения (например, region = img (4: 40,50: 60), добавить к ней шум (назовите его region_with_noise) и затем соединить его обратно (img (4: 40,50: 60) = region_with_noise). Если у вас есть изображение RGB, вам придется повторить процесс для каждого канала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...