




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字图像处理第二次作业(改)巴特沃斯低通滤波器及高斯低通滤波器段嘉炜西安交通大学电气工程及自动化学院硕6029班学号:3116160004摘要本文使用巴特沃斯低通滤波器及高斯低通滤波器对图像进行低通滤波,并对结果进行了分析。两种滤波器都使用了两种不同的方式进行实现:一种是利用MATLAB,先把图像数据由时域变到频率域,再利用滤波函数滤除图像的高频分量,最后将在频率域经过滤波的数据转换回时域,即可得到处理结果。另一种是使用MATLAB事先计算好的巴特沃斯滤波函数与高斯滤波函数的模板函数,利用OpenCV将模板函数直接在时域对原图像进行扫描,即可直接获得结果。通过比较,上述两种低通滤波器由于滤波函
2、数平滑,滤波后图像效果较好,都没有振铃现象产生。从处理时间上来说,在给定滤波参数的条件下,后一种实现方法可更简单的实现并行运算,节省较多的CPU执行时间。另一种是利用傅里叶变换的时频特性,将上述需要在频域对图像进行变换的方式转变为在时域对图像进行处理。我们知道傅里叶变换函数有以下特性:FFTGGBf(x,y)h(x,y)FGGGGGGGGF(u,v)H(u,v)IFFT(1)因此我们可以把上一方法中将滤波函数与经过傅里叶变换的函数在频域相乘这一操作,转换为将经过傅里叶反变换的滤波函数与原图像在时域做卷积,这样就可以避免大型图像求傅里叶变换,加快图像处理速度。该流程可表示为图2。1.简介一副图像
3、中的边缘和其他尖锐的灰度转变(如噪声)对其高频信息起主要作用。为了对图像进行平滑处理,需要对其进行低通滤波。比较典型的低通滤波器有理想低通滤波器,巴特沃斯低通滤波器,高斯低通滤波器三种。其中巴特沃斯低通滤波器有一个参数,当该参数较大时,巴特沃斯滤波器接近于理想滤波器;当该参数较小时,巴特沃斯滤波器接近于高斯滤波器,即可以把巴特沃斯滤波器看作是其余两种滤波器的过渡态。1图2:图像滤波流程(时域变换)2.巴特沃斯低通滤波器频率域低通滤波是指通过算法滤除二维图像中的高频信息,主要是利用频域上不同的传递函数与二维图像的傅里叶变换函数相乘而滤除图像的高频分量。截止频率位于距原点D0处的n阶巴特沃斯低通滤
4、波器的传递函数定义为:H(u,v)=(2)D(u,v)2n1+0其中D0是一个正的常数,D(u,v)是频率域中数据点与频率域矩形中心点的距离,即:PQD(u,v)=(u)2+(v)21/2(3)22图1:图像滤波流程(频域变换)若要对图像进行滤波,有两种方式。一种需要先将图像进行FFT(快速傅里叶变换),在转换到频域的图像分别与巴特沃斯滤波函数与高斯滤波函数相乘,再将结果通过IFFT(傅里叶逆变换)变换到时域获得处理结果。上述处理流程可由图1表示。利用上述巴特沃斯函数(H(u,v),由图1或图2所示流程即可完成滤波。代码1:巴特沃斯低通滤波器滤波函数1forx=(Length):1:(Leng
5、th)2fory=(Length):1:(Length)3D=(x2+y2)(0.5);4D_0=100;5H_1(x+(Length)+1,y+(Length)+1)=1/(1+(D/D_0)2);6H_2(x+(Length)+1,y+(Length)+1)=1/(1+(D/D_0)6);7end8end由小节2.1所述,分别选取n=1和3,其滤波函数频域下的MATLAB实现如代码1所示。其中Length为Lenna图像宽度(512)。在求得滤波函数后,需要将该函数与经过傅里叶变换的图像相乘,并对所得结果进行傅里叶逆变换才可得到滤波结果,具体见代码2。其中第1行表示将滤波函数H(u,v)与
6、灰度图像F(u,v)进行点乘,第2行表示将点乘结果G(u,v)做傅里叶逆变换,将信号由频域转换到时域,得到滤波结果g(x,y)。代码2:巴特沃斯低通滤波器傅里叶变换1G=H.*F;2g=real(ifft2(G);3g=g(1:1:M,1:1:N);在时域对图像做卷积如代码4所示。该段代码很好理解,其中第5行至第8行表示以图像中的某点做卷积。为代码3:巴特沃斯低通滤波器图像模板计算1H_1=abs(ifft2(H_1);2H_1=H_1(1:1:DataLength,1:1:DataLength);3H_1=fftshift(H_1);代码4:巴特沃斯低通滤波器图像模板滤波1for(intk=
7、1;k<7;k+)23for(intl=1;l<7;l+)45temp+=input.at<uint8_t>(circle(il,input.cols),circle(jk,input.cols)*calculator6l6k;6temp+=input.at<uint8_t>(circle(il,input.cols),circle(j+k,input.cols)*calculator6l6+k;7temp+=input.at<uint8_t>(circle(i+l,input.cols),circle(jk,input.cols)*calcul
8、ator6+l6k;8temp+=input.at<uint8_t>(circle(i+l,input.cols),circle(j+k,input.cols)*calculator6+l6+k;91011output.at<uint8_t>(i,j)=uint8_t(temp+calculator66*input.at<uint8_t>(i,j);了便于编写代码,将中心点像素的值在第11行添加(该处程序并非最简单写法,但是为了使其数学概念清楚故如此编写)。由图4和图5比较可以验证上述说法,即在巴特沃斯滤波中取n=1时输出图像更平滑。除此之外通过观察图6可以
9、发现,在频域对图片进行变换,滤波后的图像边界有黑色边缘,推断这是由于进(a)巴特沃斯滤波函数二维(b)巴特沃斯滤波函数三维图像(D0=100,n=1)图像(D0=100,n=1)(c)巴特沃斯滤波函数二维(d)巴特沃斯滤波函数三维图像(D0=100,n=3)图像(D0=100,n=3)图3:巴特沃斯滤波函数图像3.高斯低通滤波器原理与巴特沃斯低通滤波器相似,只是滤波函数有所不同,其截止频率位于距原点D0处的高斯低通滤波(a)(b)图4:巴特沃斯频域变换结果(D0=100,n=1)(a)(b)图5:巴特沃斯频域变换结果(D0=100,n=3)(a)(b)图6:巴特沃斯低通频域变换结果的边缘黑边器
10、的传递函数定义为:H(u,v)=eD2(u,v)(4)其中D0是一个正的常数,D(u,v)是频率域中数据点与频率域矩形中心点的距离,即:D(u,v)=(uP)2+(vQ)2221/2(5)利用上述高斯函数(H(u,v),由图1或图2所示流程即可完成滤波。(a)巴特沃斯滤波模板二维(b)巴特沃斯滤波模板三维图像(D0=100,n=1)图像(D0=100,n=1)(c)巴特沃斯滤波模板二维(d)巴特沃斯滤波模板三维图像(D0=100,n=3)图像(D0=100,n=3)图7:巴特沃斯滤波模板图像(a)(b)图8:巴特沃斯时域结果的边缘D(u,v)与经过傅里叶变换的图像相乘,之后将所得结果进行离散傅
11、里叶逆变换,取所获得值的实部的绝对值即为经过高斯低通滤波的结果。由小节2.1所述,分别选取D0=60和160,其MATLAB实现如代码6所示。其中Length为Lenna图像宽度(512)。将该模板与灰度图像做卷积,(a)(b)图9:巴特沃斯时域变换结果(D0=100,n=1)(a)(b)图10:巴特沃斯时域变换结果(D0=100,n=3)代码5:边缘数据补全1intcircle(intx,intcol)23if(x>=col)4x=col(xcol)1;5elseif(x<0)6x=abs(x)1;7returnx;8卷积所得极为经过滤波的图像。代码与巴特沃斯低通滤波器相同。(a
12、)高斯滤波函数二维图像(b)高斯滤波函数三维图像(=60)(=60)(c)高斯滤波函数二维图像(d)高斯滤波函数三维图像(=160)(=160)图11:高斯滤波函数图像(a)(b)图12:高斯频域变换结果(=60)(a)(b)图13:高斯频域变换结果(=160)代码6:高斯低通滤波器滤波函数1forx=(Length):1:(Length)2fory=(Length):1:(Length)3D=(x2+y2)(0.5);4D_0=60;5H_3(x+(Length)+1,y+(Length)+1)=exp(D*D)/(2*D_0*D_0);6D_0=160;7H_4(x+(Length)+1,y+(Length)+1)=exp(D*D)/(2*D_0*D_0);8end9end(a)高斯滤波模板二维图像(b)高斯滤波模板三维图像(=60)(=60)(c)高斯滤波模板二维图像(d)高斯滤波模板三维图像(=160)(=160)图14:巴特沃斯滤波模板图像即当=60时的模糊程度大于=160时的模糊程度,这是由于滤波模板的范围更广。时域对图像进行变换的结果见图15及图16所示。虽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人投资版证券交易委托合同
- 2025年度室内外装饰装修合同违约赔偿标准与环保检测协议
- 2025年度夜间搬运工劳动合同保障方案
- 2025年度个体工商户现代农业租赁服务协议
- 2025年度仓储物流行业劳动合同工伤赔偿及仓储安全协议
- 2025年度农业生态环境评估与合作协议
- 2025年度XX互联网企业股东退股及网络安全协议
- 咖啡厅装修简易合同模板
- 2025年度人体模特摄影作品授权使用协议
- 2025年江苏省安全员《A证》考试题库
- 脑出血课件完整版本
- 凉山州小学数学教师业务素质考试试题(真题+训练)
- 长护险定点机构自查报告
- GB/T 6003.2-2024试验筛技术要求和检验第2部分:金属穿孔板试验筛
- 2025年初中地理八年级上册全册重点知识点复习课件
- 人工智能大模型
- 川教版信息技术五年级下册全册教学设计教案
- 重庆市江北区社区专职工作者招考聘用高频500题难、易错点模拟试题附带答案详解
- 掩体构筑与伪装教学法教案
- 让我们一起去追“星”!两弹一星之核弹老人魏世杰课件高二下学期爱国主义教育主题班会
- 2024年日历表电子版(带农历-含周数-周一开始-打印版)
评论
0/150
提交评论