Поскольку ваше изображение очень шумное, вы можете увеличить размер фильтра. Но вы будете идти на компромисс между шумом и размытостью.

аюсь удалить шум из и без того шумного изображения RGB. Я видел несколько примеров, когда шум соли и перца добавлялся к чистому изображению, а затем снова удалялся в качестве примера, но я читаю на уже зашумленном изображении, если это имеет смысл. Этот код по какой-то причине не вносит никаких изменений в исходное изображение. Шум не был удален вообще. Любая помощь будет оценена.

p = imread("train.jpg");

redChannel = p(:, :, 1);
greenChannel = p(:, :, 2);
blueChannel = p(:, :, 3);

% Median Filter the channels:
redMF = medfilt2(redChannel, [3 3]);
greenMF = medfilt2(greenChannel, [3 3]);
blueMF = medfilt2(blueChannel, [3 3]);

% Find the noise in the red.
noiseImage = (redChannel == 0 | redChannel == 255);
% Get rid of the noise in the red by replacing with median.
noiseFreeRed = redChannel;
noiseFreeRed(noiseImage) = redMF(noiseImage);
% Find the noise in the green.
noiseImage = (greenChannel == 0 | greenChannel == 255);
% Get rid of the noise in the green by replacing with median.
noiseFreeGreen = greenChannel;
noiseFreeGreen(noiseImage) = greenMF(noiseImage);
% Find the noise in the blue.
noiseImage = (blueChannel == 0 | blueChannel == 255);
% Get rid of the noise in the blue by replacing with median.
noiseFreeBlue = blueChannel;
noiseFreeBlue(noiseImage) = blueMF(noiseImage);
% Reconstruct the noise free RGB image
rgbFixed = cat(3, noiseFreeRed, noiseFreeGreen, noiseFreeBlue);

figure, imshow(rgbFixed);

Ответы на вопрос(0)

Ваш ответ на вопрос