增强低频和高频 matlab,实验名称高斯低频滤波及高频增强滤波.doc

实验名称高斯低频滤波及高频增强滤波

实验名称 高斯低频滤波及高频增强滤波

实验代号 N0.3

课程名称 数字图像处理

学生姓名 王 琰

完成时间 2008年10月11日

递交时间 2008年10月15日

二00八年十月十一日

实验背景

一、实验目的和要求

1、了解傅立叶变换和频率域在图像处理中的基本应用知识;

2、通过MATLAB编程,掌握高斯低频滤波和高频增强滤波的原理和方法。

二、实验内容和原理

实验内容:

1、运用教材中4.3-7式编写程序实现高斯型低通滤波器,通过低通滤波将图4.18(a)转换为图4.18(c)。

2、重复教材中的例4.9,对所给图像进行高频增强滤波;

实验原理:

傅立叶变换及频率域滤波

傅立叶变换理论是指,任何周期函数都可以表示为不同频率的正弦和/或余弦和的形式,每个正弦和/或余弦乘以不同的系数,即傅立叶级数。在本次实验中,用到了傅立叶二维变换。MATLAB提供的快速傅立叶变换函数(1)fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为: = fft2(Image);

函数返回图象I的二维fft变换矩阵,输入图象I和输出图象B大小相同。ifft2

ifft2函数用于计算图象的二维傅立叶反变换,其语法格式为:B = ifft2(Image);

函数返回图象I的二维傅立叶反变换矩阵,输入图象I和输出图象B大小相同。频域滤波的步骤一般是:1、用(-1)^(x+y)乘以输入图像进行中心变换2、有计算图像DFT,即F(u,v)3、用滤波函数Hu,v乘以Fu,v4、计算3)中结果的反DFT5、得到4)中结果的实部6、用-1)^(x+y)乘以5)中的结果。因此高斯函数能构成一个在频域具有平滑性能的低通滤波器可以通过在频域做乘积来实现高斯滤波。高斯滤波器可用均值滤波器多次逼近,一般情况下,大于或等于三次逼近就可近似于高斯滤波器,所以,在设计高斯滤波器时,可以用设计均值滤波器逼近代替高斯滤波器。在一幅图像中图像高频分量对应于图像的细节信息,全局的直方图均衡使直方图在整个灰度级上的分布趋于均匀,取得一定的增强效果,但忽略了细节的信息甚至出现细节信息的丢失,局部直方图均衡则可以较好地解决这一问题,突出细节信息。OpenImage_Callback函数:

浏览文件夹,打开图像;

定义结构image,包含读入的图像句柄,图像像素大小。

(2)BtnGLPF _Callback函数:

根据高斯低通滤波传递函数公式,对图像矩阵进行运算,得到滤波后的结果。其滤波传递函数可以表示为:

H1 = exp(-(du.^2+dv.^2)/(2*(15^2)));%du,dv,为点到二维坐标轴的距离。

(3)BtnBHPF_Callback函数:

利用巴特沃斯高通滤波传递函数公式,对图像进行滤波。N阶且截止频率距原点的距离为D0巴特沃斯型高通滤波器(BHPF)的传递函数为:

表示成MATLAB算式为:

D0 = D0 ^ 2;

d = du.^2+dv.^2;

image.H2 = 1./(1+(D0^2)./(d.^2));

(4)BtnEnhance_Callback函数:

对(3)中所得图像结果进行高频增强。高频增强就是在高通滤波器函数前简单地乘以一个常数,再增加一个偏移以便使零频率不被滤波器除掉。传递函数可以表示为:

此处我们采用a=0.5,b=2,则传递函数H3 = image.H2 * 2 + 0.5;

(5)BtnHistogram_Callback函数

histeq_im = histeq(image.enh_image); %对图像进行直方图均衡

(6)btReturn_Callback函数

close(gcf); %关闭界面

(7)自定义函数:function [du,dv] = dist(M,N):

利用meshgrid函数,构造以图像长宽中点为中心的网状结构,计算点到傅立叶变换中心的距离。

(8)傅立叶变换及其反变换:

主要利用fft2函数和ifft2函数。

F = fft2(image.a);

image.result= uint8(real(ifft2(F.*image.H2,U,V)));

结果讨论

1、选择图像,通过Open Image控件的回调函数打开文件夹,如图2所示:

图2 打开图像

将图像显示在axes坐标控件指定范围内,作为原始图像显示:

图3 图像显示

2、GLPF高斯低通滤波操作:

利用高斯低通滤

你可能感兴趣的:(增强低频和高频,matlab)