加入高斯噪声的时域图:

img = imread('lena.png');
img_gray = rgb2gray(img);

% 添加高斯噪声
noise = randn(size(img_gray)) * 20;
img_noisy = double(img_gray) + noise;

% 显示时域图像
subplot(1,2,1), imshow(uint8(img_gray));
title('Original Image');
subplot(1,2,2), imshow(uint8(img_noisy));
title('Image with Gaussian Noise');

加入高斯噪声的频域图:

% 计算傅里叶变换
f = fft2(img_noisy);
fshift = fftshift(f);

% 取绝对值
S = abs(fshift);

% 取对数
S_log = log(S + 1);

% 显示频域图像
subplot(1,2,1), imshow(S_log, []);
title('Magnitude Spectrum');
subplot(1,2,2), imshow(angle(fshift), []);
title('Phase Spectrum');

加入椒盐噪声的时域图:

img = imread('lena.png');
img_gray = rgb2gray(img);

% 添加椒盐噪声
noise = rand(size(img_gray));
img_noisy = img_gray;
img_noisy(noise < 0.05) = 0;
img_noisy(noise > 0.95) = 255;

% 显示时域图像
subplot(1,2,1), imshow(uint8(img_gray));
title('Original Image');
subplot(1,2,2), imshow(uint8(img_noisy));
title('Image with Salt and Pepper Noise');

加入椒盐噪声的频域图:

% 计算傅里叶变换
f = fft2(img_noisy);
fshift = fftshift(f);

% 取绝对值
S = abs(fshift);

% 取对数
S_log = log(S + 1);

% 显示频域图像
subplot(1,2,1), imshow(S_log, []);
title('Magnitude Spectrum');
subplot(1,2,2), imshow(angle(fshift), []);
title('Phase Spectrum');

加入泊松噪声的时域图:

img = imread('lena.png');
img_gray = rgb2gray(img);

% 添加泊松噪声
img_noisy = imnoise(img_gray, 'poisson');

% 显示时域图像
subplot(1,2,1), imshow(uint8(img_gray));
title('Original Image');
subplot(1,2,2), imshow(uint8(img_noisy));
title('Image with Poisson Noise');

加入泊松噪声的频域图:

% 计算傅里叶变换
f = fft2(img_noisy);
fshift = fftshift(f);

% 取绝对值
S = abs(fshift);

% 取对数
S_log = log(S + 1);

% 显示频域图像
subplot(1,2,1), imshow(S_log, []);
title('Magnitude Spectrum');
subplot(1,2,2), imshow(angle(fshift), []);
title('Phase Spectrum');
``
用matlab绘制加入高斯噪声、椒盐噪声、泊松噪声图片的时域及频域

原文地址: https://www.cveoy.top/t/topic/fazm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录