低通濾波器
理想低通濾波
- 作用:保留頻譜圖中圓內低頻分量,截斷頻譜圖中圓外高頻分量
- 函數表示:
- 假設頻譜中心在 (M/2,N/2)處,則任意頻譜成分(u,v) 到中心(原點)的距離D(u,v) 定義為:
%理想低通
I = imread('aaa.tif');
figure(1);
subplot(221),imshow(I);
title('原圖像');
I=im2double(I);
s=fftshift(fft2(I));%傅里葉變換,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(s)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[a,b]=size(s);
h=zeros(a,b);%濾波器函數
res=zeros(a,b);%保存結果
a0=round(a/2);
b0=round(b/2);
d=40;
for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2);if distance<=dh(i,j)=1;elseh(i,j)=0;endend
end
res=s.*h;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('理想低通濾波所得圖像');
subplot(224),imshow(h);
title("理想低通濾波器圖象");
高斯低通濾波
-
二維高斯低通濾波器定義如下:
-
是關于頻譜中心的擴展度的度量
-
令 =D0,則二維高斯低通濾波器表示為:
-
D0為截止頻率距原點的距離,D(u,v)是點(u,v)距原點的距離
-
圖像表示:
從左到右分別是一個理想低通濾波器變換函數的透視圖、以圖像形式顯示的濾波器和濾波器徑向橫截面。
-
matlab代碼:
%高斯低通
I=imread('aaa.tif');
subplot(221),imshow(I);
title('原圖像');
Y=fft2(im2double(I));%傅里葉變換
Y=fftshift(Y);%頻譜搬移,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(Y)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[M,N]=size(Y);%獲得圖像的高度和寬度
h=zeros(M,N);%濾波器函數
%圖像中心點
M0=M/2;
N0=N/2;
%截至頻率距離圓點的距離,delta表示高斯曲線的擴散程度
D0=40;
delta=D0;
for x=1:Mfor y=1:N%計算點(x,y)到中心點的距離d2=(x-M0)^2+(y-N0)^2;%計算高斯濾波器h(x,y)=exp(-d2/(2*delta^2));end
end
%濾波后結果
res=h.*Y;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('高斯低通濾波所得圖像');
subplot(224),imshow(h);
title("高斯低通濾波器圖象");
巴特沃斯低通濾波
-
不同于ILPF,BLPF在通帶與被濾除的頻率之間沒有明顯的截斷
-
當D(u,v)=D0時,H(u,v)=0.5;當D(u,v)=0時,濾波器取最大值1
-
巴特沃斯濾波器階數越高,越趨近于理想低通濾波器
-
matlab代碼:
%巴特沃斯低通
figure(3);
I=imread('aaa.tif');
subplot(221),imshow(I);
title('原始圖像');
Y=fft2(im2double(I));%傅里葉變換
Y=fftshift(Y);%頻譜搬移,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(Y)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[M,N]=size(Y);%獲得圖像的高度和寬度
h=zeros(M,N);%濾波器函數
%圖像中心點
M0=M/2;
N0=N/2;
d0=40;
%巴特沃斯濾波器的階數
n_0=2;
for x=1:Mfor y=1:Ndistance=sqrt((x-M0)^2+(y-N0)^2);h(x,y)=1/(1+(distance/d0)^(2*n_0));end
end
%濾波后結果
res=h.*Y;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('巴特沃斯低通濾波所得圖像');
subplot(224),imshow(h);
title("巴特沃斯低通濾波器圖象");
低通濾波器用途
高通濾波
理想高通濾波
-
作用:保留頻譜圖中圓外高頻分量,截斷頻譜圖中圓內低頻分量
-
截止頻率距原點的距離為 D0 的 IHPF 定義為:
-
D0為截止頻率距原點的距離,D(u,v)是點(u,v)距原點的距離
-
圖像表示:
-
matlab代碼:
%理想高通
I = imread('aaa.tif');
figure(1);
subplot(221),imshow(I);
title('原圖像');
I=im2double(I);
s=fftshift(fft2(I));%傅里葉變換,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(s)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[a,b]=size(s);
h=zeros(a,b);%濾波器函數
res=zeros(a,b);%保存結果
a0=round(a/2);
b0=round(b/2);
d=40;
for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2);if distance<dh(i,j)=0;elseh(i,j)=1;endend
end
res=s.*h;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('理想高通濾波所得圖像');
subplot(224),imshow(h);
title('理想高通濾波器圖像');
高斯高通濾波
-
截止頻率距原點的距離原點為D0的 GHPF 定義為:
-
D0為截止頻率距原點的距離,D(u,v)是點(u,v)距原點的距離
-
圖象表示:
-
matlab代碼:
%高斯高通
I=imread('aaa.tif');
subplot(221),imshow(I);
title('原圖像');
Y=fft2(im2double(I));%傅里葉變換
Y=fftshift(Y);%頻譜搬移,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(Y)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[M,N]=size(Y);%獲得圖像的高度和寬度
h=zeros(M,N);%濾波器函數
%圖像中心點
M0=M/2;
N0=N/2;
%截至頻率距離圓點的距離,delta表示高斯曲線的擴散程度
D0=40;
delta=D0;
for x=1:Mfor y=1:N%計算點(x,y)到中心點的距離d2=(x-M0)^2+(y-N0)^2;%計算高斯濾波器h(x,y)=1-exp(-d2/(2*delta^2));end
end
%濾波后結果
res=h.*Y;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('高斯高通濾波所得圖像');
subplot(224),imshow(h);
title("高斯高通濾波器圖象");
巴特沃斯高通濾波
-
n階且截止頻率距原點的距離為 D0 的 BHPF 定義為:
-
D0為截止頻率距原點的距離,D(u,v)是點(u,v)距原點的距離
-
函數圖像表示:
%巴特沃斯高通
figure(3);
I=imread('aaa.tif');
subplot(221),imshow(I);
title('原始圖像');
Y=fft2(im2double(I));%傅里葉變換
Y=fftshift(Y);%頻譜搬移,直流分量搬移到頻譜中心
subplot(222), imshow(log(abs(Y)+1),[]);
title('圖像傅里葉變換取對數所得頻譜');
[M,N]=size(Y);%獲得圖像的高度和寬度
h=zeros(M,N);%濾波器函數
%圖像中心點
M0=M/2;
N0=N/2;
d0=40;
%巴特沃斯濾波器的階數
n_0=2;
for x=1:Mfor y=1:Ndistance=sqrt((x-M0)^2+(y-N0)^2);h(x,y)=1/(1+(d0/distance)^(2*n_0));end
end
%濾波后結果
res=h.*Y;
res=real(ifft2(ifftshift(res)));
subplot(223),imshow(res);
title('巴特沃斯高通濾波所得圖像');
subplot(224),imshow(h);
title("巴特沃斯高通濾波器圖象");
高通濾波器與低通濾波器之間的關系
高通濾波器與低通濾波器總結比較
低通濾波器
低通濾波器性能比較
| 理想低通濾波器 | 理想低通濾波器產生模糊和振鈴現象,且模糊和振鈴現象反比于截斷頻率(即半徑D0) |
| 巴特沃斯低通濾波器 | 隨著濾波器半徑(截止頻率)的增大,模糊越來越減弱;低階濾波器沒有明顯振鈴現象(濾波器在低頻和高頻之間平滑過渡) |
| 高斯低通濾波器 | 隨著截止頻率的增大,模糊越來越減弱;平滑效果稍差于相同截止頻率的二階BLPF;沒有出現振鈴現象,優于BLPF |
理想低通濾波器
巴特沃斯低通
高斯低通
高通濾波器
高通濾波器性能比較
| 理想高通濾波器 | 振鈴現象明顯 |
| 巴特沃斯高通濾波器 | BHPF 的結果比 IHPF 的結果尖銳得多,邊緣失真也小得多 |
| 高斯高通濾波器 | GHPF 的結果比 BHBF 和 IHPF 的結果更尖銳,即使是對微小物體 ; 和細線條的濾波也是較清晰的 |
理想高通濾波器
巴特沃斯高通濾波器
高斯高通濾波器
總結
以上是生活随笔為你收集整理的数字图像处理频域滤波实现低通与高通滤波(包含matlab代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。