源代码如下:
F=imread('people.png');
G=rgb2gray(F);
G = im2double(G);
W=fftshift(fft2(G));%傅里叶变换和平移
[x,y]=meshgrid(-128:127,-128:127);
z=sqrt(x.^2+y.^2);
D1=10;D2=30;%截止频率
n1=4;n2=8;%滤波器的
H1=1./(1+(D1./z).^(2n1));
H2=1./(1+(D2./z).^(2n2));
K1=W1.H1;%滤波
K2=W2.H2;
L1=ifft2(ifftshift(K1));%傅里叶反变换
L2=ifft2(ifftshift(K2));
subplot(235);
imshow(real(L1));
title('巴特沃斯高通滤波(截止频率10Hz)');
subplot(236);
imshow(real(L2));
title('巴特沃斯高通滤波(截止频率30Hz)');
错误提示:
提示K1=W1.*H1;行出错(Matrix dimensions must agree.)