对周期噪声,使用频域方式滤波。使用FFT将其变换到频谱域对恒定频率的信号滤除。
对散粒噪声,使用中值滤波。设定5x5的模板统计排序,选取其中值替代模板的中心位置的值。
I=imread('D:文件及下载相关图片child.jpg'); G = rgb2gray(I); [M,N]=size(G); F = fft2(G); F1 = fftshift(F); F2 = log(1+abs(F1)); x = 0:(M-1); y = 0:(N-1); [Y,X] = meshgrid(y,x); Q0 = 10; y0 = 225; x0 = 272; y1 = 289; x1 = 272; Q1 = sqrt((Y-y0).^2+(X-x0).^2); Q2 = sqrt((Y-y1).^2+(X-x1).^2); H = 1./(1+(Q0^2./(Q1.*Q2)).^8); I =abs(real(ifft2(OUT1.*H))); figure,imshow(I,[])
中值滤波:
clc I = imread('C:UsersDesktop椒盐噪声.jpg'); G = rgb2gray(I); G1=medfilt2(G,[5,5]); figure() subplot(1,2,1); imshow(G1); subplot(1,2,2); imshow(G)