实验三频域增强_第1页
实验三频域增强_第2页
实验三频域增强_第3页
实验三频域增强_第4页
实验三频域增强_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三傅里叶变换及频域增强一. 实验内容:1、傅里叶变换性质2、低通滤波3、高通滤波二. 实验目的:1、理解傅里叶变换的原理,掌握傅里叶变换的性质2、掌握频域平滑原理,学会用理想低通滤波器、Buttenvorth低通 滤波器、高斯低通滤波器进行图像处理。3、掌握频域锐化原理,学会用理想高通滤波器、Buttenvorth高通 滤波器、高斯高通滤波器进行图像处理。三.实验步一、傅里叶变换性质1. 首先构造一幅黑白二值图像,在128x128的黑色背景中心产生一个4x4 的白色方块,对其进行傅里叶变换;(Matlab中用伍2实现2D傅里叶变 换)2. 把低频分量移到图象中心,而把高频分量移到四个角上;

2、(方法有两种: 其一,在FT以前对测试图象逐点加权(-l)A(i+j);其二,利用FFTSHIFT 函数);3. 利用图象增强中动态范围压缩的方法增强2DFT: (Y = C*log (1+abs(X);4. 构造一幅黑白二值图像,在128x128的黑色背景中令第32行至36行、 第32列至第36列的值为1 (即产生一个4x4的白色方块),对其进行傅 里叶变换;5. 将上图旋转30,再进行傅里叶变换(imrotate)6.构造二幅黑白二值图像,在128x128的黑色背景中分别令第60行至68行、第60列至第68列的值为1,第64行至65行、第64列至第65列的值为1产生两幅图像,分别对这两幅图

3、像进行傅里叶变换程序如下:clear all;close all;clc;f=zeros(128);f(63:66,63:66)=1;g=fft2(f);m=fftshift(g);y=log( 1+abs(m);fl=zeros(128);fl(32:36,32:36)=1;h=fft2(fl);i=imrotate(h,30);j=fft2(i);f2=zeros(128);f2(60:68,60:68)=1;k=fft2(f2);f3=zeros(128);f3(64:65,64:65)=1;I=fft2(f3);figure; % 1subplotCl, 1 );imshow(f);t

4、itle(template f*);subplot(2,2,2);imshow(g);title(,g=fft2(f);subplot(292,3);imshow(m);title(m=fftshift(g)t);subplot(292,4);imshow(y);title(,y=log(l+abs(m);figure; % 2subplot(2,2,l);imshow(f);title(template f*);subplot(2,2,2); imshow(g) ;title(* g=fft2(f)*);subplot(2,2,3);imshow(fl);title(template fl)

5、;subplot(2,294) ;imsho w(h) ;title(* h=fft2(f 1);figure; % 3subplot(2,2,l);imshow(f);title(template f*);subplot(2,2,2); imshow(g) ;title(* g=fft2(f)*);subplot(2,2,3) ;imsho w(i); title( * i=imrota te(h,30) *);subplot(2,2,4);imshow(j);title(,j=fft2(i)*);figure; % 4subplot(239l);imshow(f);title(templa

6、te f);subplot(2392) ;imsho w(g); title( * g=fft2(f);subplot(2,3,3);imshow(f2);title(,template f2*);subplot(2,3,4);imshov(k);titleC k=ff2(f2)*);subplot(2,3,5);imshow(f3); title(teniplate f3);subplot(2396) ;imsho w(l); title(fl=fTt2(f3) *);一、傅里叶变换性质1、将前三步的图像在一个图像窗口显示,并且比较图像中心平移前后有什 么区别,取对数前后乂有什么区别;图像分

7、析:低频分量移到图象中心,而高频分量移到四个角上。经过对数 变换后的图像,低频像素值变为0,高频像素值变为1template fg=fft2(f)m=fftshift(g)y=log(1 +abs(m)2、将第1步和第4步的原图像及傅里叶变换后的图像在同一个图像窗口显 示,比较其傅里叶变换后的图像,说明其中的原理;图像分析:图像经过傅里叶变换后,得到的是图像的频域,也就是频率成分; 这个频率成分表示的意义就是相邻像素之间数值的变化,也就是说像素在空 间上的变化越快,它对应在频域上的数值就越大;如果频谱图中亮的点数多, 那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱 移频到原

8、点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。template fg=fft2(f)template f1h=fft2(f1)3、将第1步和第5步的原图像及傅里叶变换后的图像在同一个图像窗口显 示,比较其傅里叶变换后的图像,说明其中的原理;template fg=fft2(f)i=imrotate(h,30)4、将第1步和第6步的原图像及傅里叶变换后的图像在同一个图像窗口显 示,比较其傅里叶变换后的图像,说明其中的原理。template fg=fft2(f)template f2k=ff2(f2)template f3I=fft2(f3)二、低通滤波1、理想低通滤波器(1) 读取图

9、像Fig4.11(a).jpg对图像逐点加权(lF(i+j)再进行傅里叶变换,使频域原点在图 像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用 FFTSHIFT函数使频域原点在图像区域的中心(3)设计理想低通滤波器,取D0=5, 15, 30, 80, 230进行滤波进行傅里叶逆变换,取实部,乘以(1)八(i+j),(或者在Matlab 中利用ifftshift,再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=5, 15, 30, 80, 230进 行滤波结果图像。(Matlab 中 imshow(uint8(result image)程序如下:cle

10、ar all;close all;Clc;f=imread(1Fig4 11(a) jpg1); s=fftshift(fft2(f);m,n=size(s);a=round(m/2);b=round(n/2); dl=5;d2=15;d3=30;d4=80;d5=230; for i=l:mfor j=l:nd=sqrt(i-a)2+(j-b)A2); if d=dl hl=l;else hl=0;endif d=d2 h2=l;else h2=0;endif d=d3 h3=l;else h3=0;endif d=d4 h4=l;else h4=0;endif d=d5 h5=l;else

11、 h5=0;end sl(izj)=hl*s(izj); s2(i,j)=h2*s(i,j); s3(i,j)=h3*s(i,j); s4(i,j)=h4*s(izj);s5(i,j)=h5*s(izj);end endsubplot (2,3,1) zimshow(f) , title (原始图像,);subplot(2,3,2)fimshow(uint8(real(ifft2(ifftshift(si),title(fd =5);subplot(2,3,3)fimshow(uint8(real(ifft2(ifftshift(s2),title(fd =15,);subplot(2,3,4

12、)fimshow(uint8(real(ifft2(ifftshift(s3),title(fd =30*);subplot(2,3,5)fimshow(uint8(real(ifft2(ifftshift(s4),title(fd =80*);subplot(2,3,6),imshow(uint8(real(ifft2(ifftshift(s5),title(fd =230f);hi ana a ad=5d=15(a)原图像(b)-(f)分别用半径值为 5,15,30,80和230截止频率进行理想低通 滤波的结果.由这些滤波器滤除的能量分 别为8%,由(b)可以发现,图像中多数细节信息包d=

13、30HIimiiiiiMiauuaalllllllln a a a a a cld=230I 111 !U /I 3 3 3含在被滤除掉的8%的能量之内.随着滤 波器(c)到(e)有振铃现象基本与原图相 同,表明图像几乎没有边缘信息包含在高频端0.5%的谱能量内.可见,由理想低通滤波器所得到的处理结果,除了模糊外,还有明显 的振铃现象。这种现象产生的原因可以通过卷积定理来解释。由卷积 定理可知,傅里叶变换域的乘积关系与空间域的卷积关系相对应:g (兀)=MX刃式中 f (x, y) f g (x, y) z h(x,y)分别是 F (uz v) , G (u, v) fH (uz v)的傅里叶

14、反变换。2、Buttenvorth 低通滤波(1) 读取图像Fig4.11(a).jpg(2) 对图像逐点加权(l)A(i+j)再进行傅里叶变换,使频域原点在图 像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用 FFTSHIFT函数使频域原点在图像区域的中心(3) 设计二阶Butterworth低通滤波器,并取D0=5, 15, 30, 80, 230分别进行滤波进行傅里叶逆变换,取实部,乘以(l)A(i+j),(或者在Matlab 中利用ifftshift,再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=5, 15, 30, 80, 230进 行滤波

15、结果图像。(Matlab 中 imshow(uint8(result image)clear all;close all;Clc;f=imread(1Fig4 11(a) jpg);s=fftshift(fft2(f);m,n=size(s);a=round(m/2);b=round(n/2);dl=5;d2=15;d3=30;d4=80;d5=230;for i=l:mfor j=l:nd=sqrt(i-a)A2+(j-b)A2);hl=l/(l+(d/dl)A4);sl(i,j)=hl*s(izj);h2=l/(l+(d/d2)A4);s2(i,j)=h2*s(i,j);h3=l/(l+(

16、d/d3)A4);s3(i,j)=h3*s(i,j); h4=l/(l+(d/d4)A4);s4(i,j)=h4*s(i,j);h5=l/(l+(d/d5)A4); s5(i,j)=h5*s(i,j);endendsubplot (2,3,1) ,imshow(f) , title (,原始图像 J ;subplot(2,3,2),imshow(uint8(real(ifft2(ifftshift(si),title(fd =5*);subplot(2,3,3),imshow(uint8(real(ifft2(ifftshift(s2),title(fd =15*);subplot(2,3,4

17、),imshow(uint8(real(ifft2(ifftshift(s3),title(fd=30*);subplot(2,3,5)zimshow(uint8(real(ifft2(ifftshift(s4),title(fd =80*);subplot(2,3,6),imshow(uint8(real(ifft2(ifftshift(s5),title(fd =230-);原始图像d=5d=15 a :?/?IIIIIIIH au a ;i a a a a a.d=30d=80d=230.a.aaIIIIIIIH川川川蠶IIIIIIIH fl taaaaaan a a a a a a 3

18、小I h 3 3 a a a一个n阶的布特沃斯滤波器的传递函数为:一个n阶的布特沃斯滤波器的传递函数为:丄 叫 v) = (W M / 2)2 + 0 N / 2)2 2 二阶巴特沃斯低通滤波器在不同截止频率下所对应的处理结果,与理想低通滤波不同,没有可见的振铃现象;图像模糊程度减少。因 为它的H(u,v)不是陡山肖的截止特性,它的尾部包含有大量的高频成 分。3、高斯低通滤波器(1) 读取图像Fig4.11(a).jpg(2) 对图像逐点加权(-l)A(i+j)再进行傅里叶变换,使频域原点在图 像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用 FFTSHIFT函数使频域原点在图像

19、区域的中心(3) 设计Gaussian低通滤波器,取D0=5, 15, 30, 80, 230进行 滤波进行傅里叶逆变换,取实部,乘以(1)八(i+j),(或者在Matlab 中利用ifftshift,再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=5, 15, 30, 80, 230进行滤波结果图像。(Matlab 中 imshow(uint8(result image)高斯低通滤波器Dg巧是距傅立叶变换原点的距离,b表示高斯曲线的扩散程度. 若使则可表示为:H(u,v)=eD2v)/21其中,q是截止频率当zX) = q时,滤波器下降到它最大值的0.607处.

20、IIIIIIIIIIII aaaaaadH.a.aiiiiiiiii iiiiiiii a 1 S 3 ja a a a a a a aO:mmmm ia a a a a a a aa a a a a a a a当截止频率相同时,和二阶Buttenvoith低通滤波器比较:图像模糊程度降低,也没有振铃GLPF不能达到有相同截止频率的二阶BLPF的 平滑效果.在需要严格控制通过和滤除频率之间 过渡的情况下,BLPF更为合适.额外控制滤波器 剖面线的代价是可能产生振铃.(“)原图像(b)(f)用高斯低通滤波器滤波的结果,其 截止频率半径分别为5,15,30,80 和 230.三、高通滤波1、理想高

21、通滤波器(1) 读取图Fig4.11(a).jpg(2) 对图像逐点加权(1)八的)再进行傅里叶变换,使频域原点在图像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用FFTSHIFT函数使频域原点在图像区域的中心(3)设计理想高通滤波器,取D0=5, 15, 30, 80, 230进行滤波进行傅里叶逆变换,取实部,乘以(l)A(i+j),(或者在Matlab 中利用ifftshift,再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=5, 15, 30, 80, 230进 行滤波结果图像。(Matlab 中 imshow(uint8(result imag

22、e)clear all;close all;Clc;f=imread(1Fig4 11(a) jpg);s=fftshift(fft2(f);m,n=size(s);a=round(m/2);b=round(n/2);dl=5;d2=15;d3=30;d4=80;d5=230;for i=l:mfor j=l:nd=sqrt(i-a)2+(j-b)A2);hl=exp(-1/2*(dA2/dlA2);sl(izj)=hl*s(izj);h2=exp(-1/2*(dA2/d2A2);s2(i,j)=h2*s(i,j);h3=exp(-1/2*(dA2/d3A2);s3(i,j)=h3*s(i,j

23、);h4=exp(-1/2*(dA2/d4A2);s4(i,j)=h4*s(i,j);h5=exp(-1/2*(dA2/d5A2);s5(i,j)=h5*s(i,j);endendsubplot(2,3,1) ,imshow(f) , title (原始图像,);subplot(2,3,2),imshow(uint8(real(ifft2(ifftshift(si),title(*d=5*);subplot(2,3,3),imshow(uint8(real(ifft2(ifftshift(s2),title(*d =15*);subplot(2,3,4),imshow(uint8(real(i

24、fft2(ifftshift(s3),title(*d=30-);subplot(2,3,5)zimshow(uint8(real(ifft2(ifftshift(s4),title(1d=80*);subplot(2,3,6),imshow(uint8(real(ifft2(ifftshift(s5),title(fd=230);原始图像 a :?/i: iiiiiiiii u a ;i a a a a a.d=5d=15d=30d=80d=230二维理想高通滤波器(IHPF)定义如下:JO D(w9v)01 D(u,v)D其中q是指定得非负数f,v) = (w - M /2)2 + (v-

25、 TV/2)21/2这个滤波器与理想低通滤波器是相对得,它将以D0为半径的圆周内的所有频率成分置零,而毫不衰减地通过圆周外的任何频率.2、Buttenvorth 高通滤波(1) 读取图像Fig4.11(a).jpg(2) 对图像逐点加权(l)A(i+j)再进行傅里叶变换,使频域原点在图像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用FFTSHIFT函数使频域原点在图像区域的中心(3) 设计二阶Buttenvoith高通滤波器,并取D0=5, 15, 30, 80, 230分别进行滤波进行傅里叶逆变换,取实部,乘以(l)A(i+j),(或者在Matlab 中利用ifftshift,

26、再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=15, 30, 80进行滤波结 果图像。(Matlab 中 imshow(uint8(result image)clear all;close all;Clc;f=imread(1Fig4 11(a) jpg);s=fftshift(fft2(f);m,n=size(s);a=round(m/2);b=round(n/2);dl=5;d2=15;d3=30;d4=80;d5=230;for i=l:mfor j=l:nd=sqrt(i-a)2+(j-b)A2);hl=l/(l+(dl/d)A4);sl(izj)=hl*

27、s(izj);h2=l/(l+(d2/d)A4);s2(i,j)=h2*s(i,j);h3=l/(l+(d3/d)A4);s3(i,j)=h3*s(i,j);h4=l/(l+(d4/d)A4);s4(i,j)=h4*s(i,j);h5=l/(l+(d5/d)A4);s5(i,j)=h5*s(i,j);endendsubplot (2,3,1) zimshow(f) , title (,原始图像,);subplot(2,3,2),imshow(uint8(real(ifft2(ifftshift(si),title(fd=5*);subplot(2,3,3),imshow(uint8(real(

28、ifft2(ifftshift(s2),title(fd =15*);subplot(2,3,4),imshow(uint8(real(ifft2(ifftshift(s3),title(fd=30);subplot(2,3,5)z imshow(uint8(real(ifft2(ifftshift(s4),title(fd =80-);subplot(2,3,6),imshow(uint8(real(ifft2(ifftshift(s5),title(d =230-);原始图像d=5d=15d=30d=80d=230 a vi/i- iiiiiiiii a u a ;i a a a a an

29、阶且截止频率距原点的距离为DO的Buttenvoith型高通滤波器(BHPF)的传递函数如下:H (况,v)=厂i+q/D,巧严其中q是指定的非负数值,叫v) = (W M2 + W N / 2)2严3、设计高斯高通滤波器(1)读取图像Fig4.11(a).jpg(2) 对图像逐点加权(l)A(+j)再进行傅里叶变换,使频域原点在图 像区域的中心(或者先对图像进行傅里叶变换,在Matlab中利用 FFTSHIFT函数使频域原点在图像区域的中心(3) 设计Gaussian高通滤波器,取D0=15, 30, 80进行滤波进行傅里叶逆变换,取实部,乘以(1)八(i+j),(或者在Matlab 中利用ifftshift,再利用ifft2进行傅里叶逆变换),(5)在同一图像窗口下显示原图像及D0=15, 30, 80进行滤波结 果图像。(Matlab 中 imsho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论