⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpfilter.m

📁 滤波器与伪彩色变换
💻 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 + -