?? lpfilter.m
字號:
%--------------------------------------------------------
%函數說明:
%輸入:
% image: 讀入圖片的路徑
% D0: 參數D0
% n: 巴特沃思與指數濾波器的階數
%輸出:
% 經過各種濾波后的圖片
%--------------------------------------------------------
function LPFilter (image , D0 , n);
%image = 'lena_noise.bmp';
f = imread(image);
[u,v] = size(f);
mid_x = u/2;
mid_y = v/2;
%D0 = 50;
%初始化H(u,v)
H = zeros(u,v);
%----------------------------------------------------------
%低通濾波器的設計
%----------------------------------------------------------
figure;
subplot(2,2,1);
imshow(f);
title('原圖');
%-------------------------------
%理想低通濾波器(ILPF)
%-------------------------------
for i = 1:u
for j = 1:v
if(sqrt((i-mid_x)^2+(j-mid_y)^2) <= D0)
H(i,j) = 1;
end
end
end
g = myfilter (f, H, D0);
subplot(2,2,2);
imshow(g);
title('理想低通濾波');
%-------------------------------
%巴特沃思低通濾波器(BLPF)
%-------------------------------
for i = 1:u
for j = 1:v
H(i,j) = 1/(1+((i^2+j^2)/(D0)^2)^n);
end
end
g = myfilter (f, H, D0);
subplot(2,2,3);
imshow(g);
title('巴特沃思低通濾波');
%-------------------------------
%指數低通濾波器(elpf)
%-------------------------------
for i = 1:u
for j = 1:v
H(i,j) = exp(-((i^2+j^2)/(D0)^2)^n);
end
end
g = myfilter (f, H, D0);
subplot(2,2,4);
imshow(g);
title('指數低通濾波');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -