太原理工大学现代科技学院MATLAB 图像的傅立叶变换及其应用 课程设计.docx
- 文档编号:18369629
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:9
- 大小:125.39KB
太原理工大学现代科技学院MATLAB 图像的傅立叶变换及其应用 课程设计.docx
《太原理工大学现代科技学院MATLAB 图像的傅立叶变换及其应用 课程设计.docx》由会员分享,可在线阅读,更多相关《太原理工大学现代科技学院MATLAB 图像的傅立叶变换及其应用 课程设计.docx(9页珍藏版)》请在冰点文库上搜索。
太原理工大学现代科技学院MATLAB图像的傅立叶变换及其应用课程设计
……………………………………装………………………………………订…………………………………………线………………………………………
专业班级学号姓名成绩
一、设计目的
通过该设计,掌握傅立叶变换的定义及含义。
二、设计内容及其主要MATLAB函数
1.图像的离散傅立叶变换
假设
是一个离散空间中的二维函数,则该函数的二维傅立叶变换定义为
其中
和
是频域变量,单位是弧度/采样单位。
函数
为函数
的频谱。
二维傅立叶反变换的定义为
因此,函数
可以用无数个不同频率的复指数信号的和表示,在频率
处复指数信号的幅度和相位为
MATLAB提供的快速傅立叶变换函数
1)fft2:
用于计算二维快速傅立叶变换,其语法格式为
b=fft2(I),返回图像I的二维傅立叶变换矩阵,输入图像I和输入图像B大小相同;
b=fft2(I,m,n),通过对图象I的剪切或补零,按用户指定的点数计算二维傅立叶变换,返回矩阵B的大小为。
很多MATLAB图象显示函数无法显示复数图象,为了观察图象傅立
叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs函数。
2)fftn:
用于计算n维快速傅立叶变换,其语法格式为
b=fftn(I),计算图像的n维傅立叶变换,输出图像B和输入图像I大小相同;
b=fftn(I,size),通过对图像I剪切或补零,按size指定的点数计算n维傅立叶变换,返回矩阵B的大小为size。
3)fftshift:
用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为
b=fftshift(I),将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。
2.快速傅立叶变换的应用
1)滤波器频率响应
滤波器冲激响应的傅立叶变换就是该滤波器的频率响应。
MATLAB提供的freqz2函数可以同时计算和显示滤波器的频率响应,其语法格式为
freqz2(h),可同时计算和显示滤波器的频率响应。
2)快速卷积
傅立叶变换的另一个重要特性是能够实现快速卷积。
由线性系统理论可知,两个系统卷积的傅立叶变换等于两个函数的傅立叶变换的乘积。
该特性与快速傅立叶变换一起,可以快速计算函数的卷积。
假设A为M×N矩阵,B为P×Q矩阵,则快速计算卷积的方法如下
1对A和B补0,使其大小都为(M+P-1)×(N+Q-1);
2利用函数ttf2对函数进行二维FFT变换;
3将两个FFT结果相乘,利用函数ifft2对得到的乘积进行傅立叶反变换。
另外,利用MATLAB提供的卷积函数conv2可以直接对两个函数进
行卷积,其语法格式为
C=conv2(A,B),计算矩阵A和B的二维卷积。
三、设计报告要求
1.加载imdemossaturn2文件,显示文件中的图像saturn2,并对其进行傅立叶变换,给出源程序及结果,并显示其幅值的结果。
2.对矩阵A=magic(3)和B=ones(3)按照快速计算卷积的方法计算两个矩阵的卷积,并用卷积函数conv2验证结果,给出源程序及结果。
四、上机内容及结果
1.加载imdemossaturn2文件,显示文件中的图像saturn2,并对其进行傅立叶变换,给出源程序及结果,并显示其幅值的结果。
①上机程序:
>>clear
>>loadimdemossaturn2
>>figure
>>subplot(131);
>>imshow(saturn2);title('原图像');
>>b=fftshift(fft2(saturn2));
>>subplot(132)
>>imshow(log(abs(b)),[]);title('二维傅立叶变换图像');
>>c=ifft2(b);
>>subplot(133)
>>imshow(log(abs(c)),[]);title('逆变换后图像');
>>plot(abs(imshow(saturn2)));title('原图像频谱图');
>>plot(abs(b));title('傅立叶变换图像频谱图');
plot(abs(imshow(saturn2)));title('原图像频谱图');
②结果显示:
2.对矩阵A=magic(3)和B=ones(3)按照快速计算卷积的方法计算两个矩阵的卷积,并用卷积函数conv2验证结果,给出源程序及结果。
①上机程序:
>>clear
>>A=magic(3);
>>B=ones(3);
>>A(5,5)=0;
>>B(5,5)=0;
>>C=ifft2(fft2(A).*fft2(B));
>>C=C(1:
5,1:
5);
>>C=real(C)
C=
8.00009.000015.00007.00006.0000
11.000017.000030.000019.000013.0000
15.000030.000045.000030.000015.0000
7.000021.000030.000023.00009.0000
4.000013.000015.000011.00002.0000
>>D=conv2(A,B);
>>D=D(1:
5,1:
5);
>>D=real(D)
D=
891576
1117301913
1530453015
72130239
41315112
>>
②结果对比:
对矩阵A和B按照快速计算卷积的方法计算朗格矩阵的卷积矩阵C与用卷积函数cove2对两个矩阵进行卷积的矩阵D结果一样,说明使用快速卷积方法正确。
五、课设心得体会
通过这次MATLAB语言图像的傅立叶变换及其应用的课程设计,使我巩固和加深了在MATLAB语言课程中所学的理论知识,对MATLAB用于语音信号的处理、MATLAB用于图像的处理、图像的傅立叶变换等的认识更加深刻,并学会查阅相关手册和资料,提高了分析问题,解决问题的能力;我基本掌握了MATLAB6.5的使用方法,而且初步掌握了傅立叶变换的定义和含义,能和所学《信号与系统》知识结合起来,在以后还需要多加练习,熟练掌握。
设计过程中要注意的是在每个语句必须认真输入,如果某个语句存在错误,则总的结果必然会受到影响,所以在设计过程中我们要保持认真严谨的态度。
本次课程设计的主要内容是图像的傅立叶变换及其应用,按照要求提示设计程序。
其涉及到多方面内容:
包括图像的离散傅立叶变换、快速傅立叶变换的应用。
对于图像的离散傅里叶变换,根据MATLAB所提供的快速傅立叶变换函数,需要进行简单的程序设计;对快速傅立叶变换而言,有两种卷积方式,分别是快速卷积和conv2二维卷积,由理论知识得出结果与实际程序得出结果相比较,对比两种方法的实验结果可以发现,结果一样,函数运用正确。
这次课程设计是一次理论联系实际的过程,在这次课程设计中遇到了许多实际问题,在理论上正确的结果可能会在上机程序中出现各种意料之外的结果,这就要我们在设计过程中从实际出发,尽可能多地考虑各种因素对实验的影响。
另外,在遇到问题时要学会用理论联系实际的方法分析问题,解决问题。
回想这次课程设计,到现在还有许多的感慨,从选题到定稿,从理论到实践的过程使我懂得了理论联系实际的重要性,只有理论是远远不够的,只有把所学的理论与实践相结合起来,从理论中的出结论,在实践中检验理论,才能真正掌握知识,从而提高自己的实际动手能力和独立思考能力,更加精确地学习和掌握一门课程,并能与其他课程相联系应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原理工大学现代科技学院 MATLAB 图像的傅立叶变换及其应用 课程设计 太原 理工大学 现代科技 学院 图像 傅立叶 变换 及其 应用