基于频率域的平滑滤波论文 - 图文

更新时间:2023-09-17 20:12:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字图像处理论文

频率域低通滤波及其应用

第六组:201583130145 赵明翔

摘要:数字图像处理的主要目的是改善图像视觉效果,以便于人们对其更进一步的理解,而图像增强技术是采用某种技术手段改变图像的视觉效果,其中一种技术就是频率域增强技术,本论文重点介绍了用MATLAB对图像分别进行理想低通滤波、布特沃斯低通滤波和高斯低通滤波。

关键词:MATLAB 滤波 理想低通滤波 布特沃斯低通滤波 高斯低通滤波 一.引言

滤波是将信号中特定波段频率滤波的操作,是抑制和防止干扰的一项重要措施。根据观察某一随机过程的结果,对另一与之有关的随机过程进行估计的概率理论与方法。而低通滤波则是让低频信号能正常通过,而超过设定临界值的高频信号则会被阻隔、减弱,但是阻隔或减弱的幅度会根据不同的频率以及不同的滤波程序而改变。 二.频率域滤波基础

频率域滤波有修改一幅图像的傅里叶变换然后计算其反变换得到处理后的结果组成。由此,若给定一副大小M×N的数字图像f(x,y),则基本滤波公式有如下形式

g?x,y???-1

?H?u,v?F?u,v??

其中,?-1是IDFT,F?u,v?是输入图像f?x,y?的DFT,H?u,v?是滤波函数g?x,y?是滤波后的(输出)图像。函数F,H和g是大小与输出图像

1

数字图像处理论文

相同的M?N阵列。乘积H?u,v?F?u,v?是阵列相乘而得到的,滤波函数通过修改输入的图像数据的变换得到处理后的输出g?x,y?。

变换中的低频与图像中缓慢变化的灰度分量有关,而高频由灰度的尖锐过程造成。因此我们所利用的让高频衰减而让低频通过的滤波器H?u,v?(也就是我们下面即将讨论的低通滤波器)将会使图像变得模糊。

三.常用的低通滤波器

在这门课程中我们主要学习的低通滤波器有三种,分别是:理想滤波器、布特沃斯滤波器和高斯滤波器。这三种滤波器涵盖了从非常尖锐到非常平滑的滤波范围。 3.1 理想滤波器

在以原点为圆心,以D0为半径的圆内,无衰减地通过所有频率,而在该圆外“切断”所有频率的二维低通滤波器,称为理想低通滤波器(ILPF);它由下面的函数确定:

1, D(u,v)?D0

H(u,v)?

0, D(u,v)>D0

其中,D0是一个正常数,D(u,v)是频率域中点(u,v)与频率矩形中心的距离,即

D(u,v)???u?P/2?2??v?Q/2?2?1/2

(*)

其中,与以前一样,P和Q是P?2M?1和Q?2N?1填充后的尺寸。图

2

数字图像处理论文

4.40(a)显示了H?u,v?的透视图,图4.40(b)显示了以图像显示的滤波器。理想这一名称表明在半径D0的圆内,所有频率无衰减地通过,而在此圆之外的所有频率则完全被衰减。理想低通滤波器是关于原点径向对称的,这意味着该滤波器完全由一个径向横截面来定义,如图4.40(c)所示。将该横截面旋转360o得到二维滤波器。

3.2布特沃斯低通滤波器

截止频率位于距原点D0处的n阶布特沃斯低通滤波器(BLPF)的传递函数定义为

其中,D(u,v)由(*)式给出。图4.44显示了该BLPF函数的透视图、图像显示和径向剖面图。

3.3高斯低通滤波器

3

数字图像处理论文

二维高斯滤波器的形式由下式给出:

H(u,v)?e?D(u,v)/2?22

其中,D(u,v)是距频率矩形中心的距离。是关于中心的扩展度的度量。通过令?=D0,我们可以使用其他滤波器的表示法来表示该滤波器:

H(u,v)?e?D(u,v)/2D0

22其中,D0是截止频率。当D(u,v)?D0时,GLPF下降到其最大值的0.607处。

四.Matlab实现:

4.1理想低通滤波matlab实现:

函数程序:

理想低通滤波器(以 D0=5 为例) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

I1=imread(‘D:\\Matlab\\project\\低通、高通滤波实验原图.jpg’); imshow(I1);title( '原图‘); s=fftshift(fft2(I1));

[M,N]=size(s); %分别返回 s 的行数到 M 中,列数到 N 中 n1=floor(M/2); %对 M/2 进行取整 n2=floor(N/2); %对 N/2 进行取整

%ILPF 滤波,d0=5,15,30 (程序中以 d0=5 为例) d0=5; %初始化 d0 for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离

if d<=d0 %点(i,j)在通带内的情况 h=1; %通带变换函数

else %点(i,j)在阻带内的情况 h=0; %阻带变换函数 end

s(i,j)=h*s(i,j); %ILPF 滤波后的频域表示 end end

s=ifftshift(s);

%对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取

4

数字图像处理论文

? ? ? ?

复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s)));

figure; %创建图形图像对象 Imshow(s); %显示 ILPF 滤波后的图像 title(‘ILPF 滤波(d0=5)‘)

4.2 布特沃斯低通滤波matlab实现 函数程序:

巴特沃斯低通滤波:(以 D0=5 为例) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

I1=imread('D:\\Matlab\\project\\低通、高通滤波实验原图.jpg'); imshow(I1);title('原图'); s=fftshift(fft2(I1));

[M,N]=size(s); %分别返回 s 的行数到 M 中,列数到 N 中 n=2; %对 n 赋初值

%BLPF 滤波,d0=5,15,30,80(程序中以 d0=15 为例) d0=5; %初始化 d0 n1=floor(M/2); %对 M/2 进行取整 n2=floor(N/2); %对 N/2 进行取整 for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离

h=1/(1+(d/d0)^(2*n)); %BLPF 滤波函数

s(i,j)=h*s(i,j); %BLPF 滤波后的频域表示 end end

s=ifftshift(s); %对 s 进行反 FFT 移动

%对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数

s=uint8(real(ifft2(s)));

figure; %创建图形图像对象

imshow(s); %显示 BLPF 滤波处理后的图像 title('BLPF 滤波(d0=5)');

4.3 高斯低通滤波matlab实现

函数程序如下: 高斯低通滤波器:(以 D0=5 为例)

? ? ? ? I1=imread('D:\\Matlab\\project\\低通、高通滤波实验原图.jpg'); imshow(I1);title('原图'); s=fftshift(fft2(I1));

[M,N]=size(s); %分别返回 s 的行数到 M 中,列数到

5

本文来源:https://www.bwwdw.com/article/gcbh.html

Top