數(shù)字圖像處理:頻率域圖像增強(qiáng)
1、理想低通濾波
參考代碼如下:
clear?all;close?all;
I=imread('eight.jpg');
I=im2double(I);
M=2*size(I,1);
N=2*size(I,2);
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=80;
H=double(D<=D0);
J=fftshift(fft2(I,size(H,1),size(H,2)));
K=J.*H;
L=ifft2(ifftshift(K));
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(L);

2、巴特沃斯低通濾波
參考代碼如下:
clear?all;close?all;
I=imread('tire.tif');
I=im2double(I);
M=2*size(I,1);
N=2*size(I,2);
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=50;
n=6;
H=1./(1+(D0./D).^(2*n));
J=fftshift(fft2(I,size(H,1),size(H,2)));
K=J.*H;
L=ifft2(ifftshift(K));
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(L);

3、巴特沃斯高通濾波
參考代碼如下:
clear?all;close?all;
I=imread('rice.png');
I=im2double(I);
M=2*size(I,1);
N=2*size(I,2);
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=30;
n=6;
H=1./(1+(D0./D).^(2*n));
J=fftshift(fft2(I,size(H,1),size(H,2)));
K=J.*H;
L=ifft2(ifftshift(K));
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(L);


同態(tài)濾波
參考代碼如下:
clear?all;close?all;
I=imread('pout.tif');
J=log(im2double(I)+1);
K=fft2(J);
n=5;
D0=0.1*pi;
rh=0.7;
r1=0.4;
[row,column]=size(J);
for?i=1:row
????for?j=1:column
????????D1(i,j)=sqrt(i.^2+j.^2);
????????H(i,j)=r1+(rh/(1+(D0/D1(i,j))^(2*n)));
????end
end
L=K.*H;
M=ifft2(L);
N=exp(M)-1;
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(real(N));
