example8_19巴特沃斯低通滤波.m
来自「MATLAB的一些实用程序」· M 代码 · 共 28 行
M
28 行
I1=imread('Saturn.tif');
figure,imshow(I1)
I2=imnoise(I1,'salt & pepper');
figure,imshow(I2)
f=double(I2);
%傅里叶变换
g=fft2(f);
%转换数据矩阵
g=fftshift(g);
[N1,N2]=size(g);
n=2;
d0=50;
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
%计算Butterworth低通转换函数
h=1/(1+0.414*(d/d0)^(2*n));
result(i,j)=h*g(i,j);
end
end
result =ifftshift(result);
X2=ifft2(result);
X3=uint8(real(X2));
figure,imshow(X3)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?