资源描述
数字图像处理高通滤波器
姓名:*** 学号:**********
高通滤波就是常见得频域增强得方法之一。高通滤波与低通滤波相反,它就是高频分量顺利通过,使低频分量受到削弱.这里考虑三种高通滤波器:理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器。这三种滤波器涵盖了从非常尖锐(理想)到非常平坦(高斯)范围得滤渡器函数,其转移函数分别为:
1、理想高通滤波器(IHPF)
2、巴特沃斯高通滤波器(BHPF)
3、高斯高通滤波器(GHPF)
一、数字图像高通滤波器得实验过程:
1、理想高通滤波器程序
clear all;clc;
image = imread(’test、jpg’);
gimage_15 = func_ihpf(image,15);
gimage_30 = func_ihpf(image,30);
gimage_80 = func_ihpf(image,80);
figure
subplot(221),imshow(image);
title('Original');
subplot(222),imshow(gimage_15);
title(’d0=15’);
subplot(223),imshow(gimage_30);
title('d0=30');
subplot(224),imshow(gimage_80);
title(’d0=80');
%被调函数子函数G(u,v)=F(u,v)H(u,v)
function gimage = func_ihpf(image,d0)
image = double(image);
f = fftshift(fft2(image));
[M,N]=size(f);
a0 = fix(M/2);
b0 = fix(N/2);
for i=1:M
for j=1:N
D = sqrt((i-a0)^2+(j-b0)^2);
if(D>d0)
h=1;
else
h=0;
end
g(i,j)=h*f(i,j);
end
end
gimage = uint8(real(ifft2(ifftshift(g))));
2、巴特沃斯高通滤波器程序
clear all;clc;
image = imread('test、jpg’);
gimage_15 = func_bhpf(image,15);
gimage_30 = func_bhpf(image,30);
gimage_80 = func_bhpf(image,80);
figure
subplot(221),imshow(image);
title(’Original’);
subplot(222),imshow(gimage_15);
title('d0=15’);
subplot(223),imshow(gimage_30);
title('d0=30');
subplot(224),imshow(gimage_80);
title(’d0=80');
%被调函数子函数G(u,v)=F(u,v)H(u,v)
function gimage = func_bhpf(image,d0)
image = double(image);
f = fftshift(fft2(image));
[M,N]=size(f);
nn = 1; %巴特沃斯阶数
a0 = fix(M/2);
b0 = fix(N/2);
for i=1:M
for j=1:N
D = sqrt((i-a0)^2+(j-b0)^2);
if(D == 0)
h=0;
else
h=1/(1+0、414*(d0/D)^(2*nn));
end
g(i,j)=h*f(i,j);
end
end
gimage = uint8(real(ifft2(ifftshift(g))));
3、高斯高通滤波器程序
clear all;clc;
image = imread('test、jpg');
gimage_15 = func_ghpf(image,15);
gimage_30 = func_ghpf(image,30);
gimage_80 = func_ghpf(image,80);
figure
subplot(221),imshow(image);
title('Original');
subplot(222),imshow(gimage_15);
title('d0=15');
subplot(223),imshow(gimage_30);
title('d0=30');
subplot(224),imshow(gimage_80);
title('d0=80');
%被调函数子函数G(u,v)=F(u,v)H(u,v)
function gimage = func_ghpf(image,d0)
image = double(image);
f = fftshift(fft2(image));
[M,N]=size(f);
a0 = fix(M/2);
b0 = fix(N/2);
for i=1:M
for j=1:N
D = sqrt((i—a0)^2+(j-b0)^2);
h=1—exp(—(D、^2)、/(2*(d0^2)));
g(i,j)=h*f(i,j);
end
end
gimage = uint8(real(ifft2(ifftshift(g))));
二、图像频域边缘增强得实验结果分析与讨论
1、理想高通滤波器
图1理想高通滤波器滤波效果(d0=15,30,80)
当d0=15时,滤波后得图像无直流分量,但灰度得变化部分基本保留。
当d0=30时,滤波后得图像在图像轮廓得大部分信息仍然保留。
当d0=80时,滤波后得图像只剩下边缘及斑点等信号突变部分。
2、巴特沃斯高通滤波器
图2一阶巴特沃斯高通滤波器滤波效果(d0=15,30,80)
图3十五阶巴特沃斯高通滤波器滤波效果(d0=15,30,80)
类似于低通滤波器得时候,巴特沃斯高通滤波器比理想高通滤波器更加平滑,边缘失真情况比后者小得多。巴特沃思滤波器有一个参数,称为滤波器得“阶数”.当此参数得值较高时,巴特沃思滤渡器接近理想滤波器。因此,巴特沃思滤波器可瞧做两种“极端”滤波器得过渡。一个一阶得巴特沃思滤波器没有振铃,在二阶中振铃通常很微小,但阶数增高时振铃便成为一个重要因素。
3、高斯高通滤波器
图4高斯高通滤波器滤波效果(d0=15,30,80)
高斯高通滤波器得到得结果比前两种滤波器更为平滑,结果图像中对于微小边缘与细条,如钢环得棱得过滤也就是较为清晰得。
从实验得仿真结果我们可以瞧出,不同得滤波器对图像得滤波效果就是不同得。它们得共同点就是图像在经过高通滤波后,消除了模糊,突出了边缘,使低频分量得到了抑制,从而增强了高频分量,使图像得边沿或线条变得清晰,实现了图像得锐化。但理想高通滤波器出现了明显得振铃现象,即图像边缘有抖动现象;而Butterworth滤波器高通效果较好,但就是计算复杂,其优点就是有少量得低频通过,故H(u,v)就是渐变得,振铃不明显;高斯高通滤波效果比前两者都要好些,但振铃也不明显,但就是计算较为复杂。而且不同得滤波半径与不同得滤波器阶数对图像得滤波效果也就是不同得。滤波半径越越小,则图像得滤波效果越好;滤波器阶数越高,则滤波效果越好。
展开阅读全文