matlab巴特沃斯高通滤波器

I1=imread('原图.jpg');
figure(1);imshow(I1);
title('原图');
m=double(I1);
f=fft2(m);
f=fftshift(f);
[N1,N2]=size(f);
n1=round(N1/2);
n2=round(N2/2);
n=2;d0=10;
for i=1:N1
    for j=1:N2
        d=sqrt((i-n1)^2+(j-n2)^2);
        h=(1/(1+(d0/d)^(2*n)))+0.5;
        y(i,j)=h*f(i,j);
    end
end
y=ifftshift(y);
A=ifft2(y);
B=uint8(real(A));
figure(2);imshow(B);
title('巴特沃斯高通滤波d0=10');
imwrite(B,'巴特沃斯高通滤波d0=10.jpg')

你可能感兴趣的:(matlab巴特沃斯高通滤波器)