傅里叶变换及图像的频域处理_第1页
傅里叶变换及图像的频域处理_第2页
傅里叶变换及图像的频域处理_第3页
傅里叶变换及图像的频域处理_第4页
傅里叶变换及图像的频域处理_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、燕山大学课 程 设 计 说 明 书题目: 傅里叶变换及图像的频域处理 学院(系): 里仁学院电气工程系 年级专业: 生物医学工程10-1班 学 号: 学生姓名: 赵 林 静 指导教师: 孟 辉 教师职称: 讲 师 燕山大学课程设计(论文)任务书院(系):里仁学院电气工程系 基层教学单位:生物医学工程 学 号学生姓名赵林静专业(班级)生物医学工程10-1班设计题目傅立叶变换及图像的频域处理设计技术参数在设计巴特沃思滤波器时满足的性能指标:通带截止频率1000rad/s,通带最大衰减3dB,阻带的截止频率40000rad/s阻带的最小衰减6dB设计要求理解离散傅立叶变换的基本原理;掌握应用MATL

2、AB语言进行FFT及逆变换的方法;熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。工作量网上查阅相关资料图书馆查阅有关资料综合整理所学的知识完成相关程序工作计划第1-2天查找有关资料,开始准备;第3-4天编写程序,进行运行以及改进第5天整理程序,完成设计报告参考资料百度文库MATLAB数据库论坛张德峰,MATLAB数字图像处理,机械工业出版社。2009,1指导教师签字孟 辉基层教学单位主任签字赵 勇说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2013年12 月 5 日 目 录一 绪论 2二 设计目的4三 设计原理43.1傅里叶变换的基本知识43.2MATLA

3、B提供的快速傅里叶变换63.3简单低通滤波器的设计7四 设计要求10 4.1理想低通滤波器的设计 11 4.2理想高通滤波器的设计 13五 总结 17六 参考文献17绪 论MATLAB的英文全称Matrix Laboratory(矩阵实验室).一开始它是一种专门用于矩阵数值计算的软件。 从这一点可以看出,它在矩阵运算方面有自己的特点。实际上,MATLAB中的绝大多数运算都是通过矩阵这一形式完成的。从理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化。图像处理技术的发展大致经历了处创期,发展期,普及期和实用化期4个阶段。初创期开始于20世

4、纪60年代,当时的图像采用像素型光栅进行扫描显示,大多采用中,大型机对其处理。20世纪90年代是图像处理技术的实用化时期,图像处理的信息量巨大,对处理器速度的要求极高。傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。和傅立叶变换算法对应的是反傅立叶变换算法。该反变换从本质上说也是一种累处理,这样就可以将单独改变的正弦波信号转换成一个信号。因此,

5、可以说,傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处理、加工。最后还可以利用傅立叶反变换将这些频域信号转换成时域信号。从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。傅立叶变换及图像的频域处理1、 设计目的1、理解离散傅立叶变换的基本原理;2、掌握应用MATLAB语言进行FFT及逆变换的方法;3、熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。二、设计原理

6、1、 傅立叶变换的基本知识在图像处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图像分析、图像增强及图像压缩等方面。假设f(x, y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下: p=0,1M-1 q=0,1N-1 (6.1)或 p=0,1M-1 q=0,1N-1 (6.2)离散傅立叶反变换的定义如下:m=0,1M-1 n=0,1N-1 (6.3)F(p, q)称为f(m, n)的离散傅立叶变换系数。这个式子表明,函数f(m, n)可以用无数个不同频率的复指数信号和表示,而在频率(w1,w2)处的复指数信号的幅度和相位是F(w1,w2)。例如,函数f(m,

7、 n)在一个矩形区域内函数值为1,而在其他区域为0,如图所示。了简便起见,假设f(m, n)为一个连续函数,则f(m, n)的傅立叶变换的幅度值(即)显示为网格图,如图所示。将傅立叶变换的结果进行可视化的另一种方法是用图像的方式显示变换结果的对数幅值,如图所示。几种简单函数的傅立叶变换的频谱可以直观的表示为图所示的样子。2、 MATLAB提供的快速傅立叶变换函数(1) fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为:B = fft2(I)B = fft2(I)返回图像I的二维fft变换矩阵,输入图像I和输出图像B大小相同。例如,计算图像的二维傅立叶变换,并显示其幅值的结果,如图所

8、示,其命令格式如下load imdemos saturn2imshow(saturn2)B = fftshift(fft2(saturn2);imshow(log(abs(B), , notruesize)(2) fftshiftMATLAB提供的fftshift函数用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:B = fftshift(I)对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行互换。(3) ifft2ifft2函数用于计算图像的二维傅立叶反变换,其语法格式为:B = ifftn(I)B = ifftn(I)返回图像I的二维傅立叶反变换

9、矩阵,输入图像I和输出图像B大小相同。其语法格式含义与fft2函数的语法格式相同,可以参考fft2函数的说明。3、简单低通滤波器的设计一个图像经过傅立叶变换后,就从空域变到了频域,因此我们可以用信号处理中对于频域信号的处理方法对一幅图像进行处理。比如对图像进行低通滤波等。一个二维的理想低通滤波器(ILPF),它的传递函数由下式确定: (6.4)式中D0是一个规定的非负的量,称为截止频率,虽然在计算机中必定能够模拟一个锐截止频率的理想低通滤波器,但它们不能用电子元件来实现。实际中比较常用的低通滤波器有:巴特沃思(Butterworth)滤波器、指数滤波器(ELPF)、梯形低通滤波器等。在实验中我

10、们设计一个理想的低通滤波器。设计理想的低通滤波器由其定义可知只要设计一个与频域图像大小完全相同的矩阵。在某一个域值内该矩阵的值为1,其余为0即可。例:若图像的大小为128*128,则可以这样设计一个低通滤波器:H=zeros(128);H(32:96, 32:96)=1; %此处的范围是人为取定的,可以根据需要更改。若图像矩阵I的傅立叶变换是B(已经用fftshift将频谱中心移至矩阵的中心),则对这幅图像做低通滤波,再做傅立叶逆变换命令为LOWPASS=B.* H; %此处变换后的矩阵为LOWPASS,另注意这儿是矩阵的点乘。C=ifft2(LOWPASS);imshow(abs(C)参考代

11、码实现:I=imread(guzhe.jpg'); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.2+II.2);%计算频谱幅值A=(A-min(min(A))/(max(max(A)-min(min(A)*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱2理想低通滤波器参考代码实现:I = imread(

12、9; guzhe.jpg'');f1,f2 = freqspace(size(I),'meshgrid'); Hd = ones(size(I); r = sqrt(f1.2 + f2.2); %0.1Hd(r>0.1) = 0; Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd;¨Ya=ifftshift(Ya); Ia01=ifft2(Ya);%0.2Hd(r>0.2) = 0; ÷Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd; ¨Ya=ifft

13、shift(Ya); Ia02=ifft2(Ya);%0.5Hd(r>0.5) = 0; Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia05=ifft2(Ya);subplot(2,2,1),imshow(I),title('原图像')subplot(2,2,2),imshow(uint8(Ia01),title('r=0.1')subplot(2,2,3),imshow(uint8(Ia02),title('r=0.2')subplot(2,2,4),imsh

14、ow(uint8(Ia05),title('r=0.5')3. 理想高通滤波器参考代码实现:I = imread(' guzhe.jpg'');f1,f2 = freqspace(size(I),'meshgrid'); Hd = ones(size(I); r = sqrt(f1.2 + f2.2); %0.1Hd(r<0.1) = 0; Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia01=ifft2(Ya);%0.2Hd(r<0.2) = 0;

15、 Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia02=ifft2(Ya);%0.5Hd(r<0.5) = 0; Y=fft2(double(I); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia05=ifft2(Ya);subplot(2,2,1),imshow(I),title('原图像')subplot(2,2,2),imshow(uint8(Ia01),title('r=0.1')subplot(2,2,3),imshow(ui

16、nt8(Ia02),title('r=0.2')subplot(2,2,4),imshow(uint8(Ia05),title('r=0.5')三、设计要求1、 读取图像guzhe.jpg,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同。A=imread(' guzhe.jpg');subplot(1,3,1),imshow(A);title('原图像');A=rgb2gray(A);B=fftshift(fft2(A);subplot(1,3,2),imshow(log(abs(

17、B), , 'notruesize');title('二维傅立叶变换');C= ifft2(B);subplot(1,3,3),imshow(log(abs(C), , 'notruesize');title('逆变换后图像'); 2、 设计一个简单的理想低通滤波器(截止频率自选),对图像作频域低通滤波,再作反变换,观察不同的截止频率下反变换后的图像与原图像的区别。A=imread(' guzhe.jpg ');subplot(3,2,1),imshow(A);title('原图像');A=rgb2

18、gray(A);B=fftshift(fft2(A);E= ifft2(B);subplot(3,2,2),imshow(log(abs(E), , 'notruesize');title('未滤波的逆变换图像');X,MAP=imread(' guzhe.jpg ');m,n=size(X);H1=zeros(m,n);H1(m/2:m, n/2:n)=1;LOWPASS1=B.* H1; C=ifft2(LOWPASS1);subplot(3,2,3),imshow(log(abs(LOWPASS1), , 'notruesize&#

19、39;);title('低通1');subplot(3,2,4),imshow(log(abs(C), , 'notruesize');title('低通1逆变换图像');H2=zeros(m,n);H2(m/10:m, n/10:n)=1;LOWPASS2=B.* H2; D=ifft2(LOWPASS2);subplot(3,2,5),imshow(log(abs(LOWPASS2), , 'notruesize');title('低通2');subplot(3,2,6),imshow(log(abs(D),

20、, 'notruesize');title('低通2逆变换图像');3、 设计一个简单的理想高通滤波器(截止频率自选),对图像作频域高通滤波,再作反变换,观察不同的截止频率下反变换后的图像与原图像的区别。A=imread(' guzhe.jpg ');subplot(3,2,1),imshow(A);title('原图像'); A=rgb2gray(A);B=fftshift(fft2(A);E= ifft2(B);subplot(3,2,2),imshow(log(abs(E), , 'notruesize');

21、title('未滤波的逆变换图像');X,MAP=imread(' guzhe.jpg ');m,n=size(X);H1=ones(m,n);H1(m/3:m*2/3, n/3:n*2/3)=0;LOWPASS1=B.* H1; C=ifft2(LOWPASS1);subplot(3,2,3),imshow(log(abs(LOWPASS1), , 'notruesize');title('高通1');subplot(3,2,4),imshow(log(abs(C), , 'notruesize');title(

22、'高通1逆变换图像');H2=ones(m,n);H2(m*3/5:m, n*3/5:n)=0;LOWPASS2=B.* H2; D=ifft2(LOWPASS2);subplot(3,2,5),imshow(log(abs(LOWPASS2), , 'notruesize');title('高通2');subplot(3,2,6),imshow(log(abs(D), , 'notruesize');title('高通2逆变换图像');4、 对一幅图像作傅立叶变换,显示一幅频域图像的振幅分布图和相位分布图,分别对

23、振幅分布和相位分布作傅立叶逆变换,观察两幅逆变换后的图像,体会频域图像中振幅与位相的作用。I=imread(' guzhe.jpg ');A=fftshift(fft2(I);A1=angle(A);B=ifft2(A);B1=ifft2(A1);C=ifft2(abs(A);figure;subplot(2,3,1),imshow(I);title('原图像');subplot(2,3,2),imshow(A1,'notruesize');title('相位谱');subplot(2,3,3),imshow(log(abs(A)

24、,'notruesize');title('傅立叶振幅频谱');subplot(2,3,4),imshow(log(abs(B),'notruesize');title('直接图像逆变换');subplot(2,3,5),imshow(log(abs(B1),'notruesize');title('相位逆变换');subplot(2,3,6),imshow(log(abs(C),'notruesize');title('傅立叶振幅逆变换'); 5、 设计一个其它类型

25、(如巴特沃思、指数等)的低通滤波器,对图像作频域低通滤波,比较这一滤波器和理想滤波器滤波结果的差异。频域低通滤波: I=imread(' guzhe.jpg '); I=rgb2gray(I);A=fftshift(fft2(I);d0=100;N=8;m,n=size(A);h=zeros(m,n);a,b=size(I);H=zeros(a,b);H(a/4:3*a/4,b/4:3*b/4)=1;for i=1:m for j=1:n d(i,j)=sqrt(i2+j2); h(i,j)=1/(1+(d(i,j)/d0)(2*N); endend low1=A.*H;B=ifft2(low1);low2=A.*h;C=ifft2(low2);figure;subplot(2,3,4),imshow(I);title('原图像');subplot(2,3,2),imshow

温馨提示

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

最新文档

评论

0/150

提交评论