matlab课设.docx

上传人:b****7 文档编号:9658831 上传时间:2023-02-05 格式:DOCX 页数:9 大小:143.76KB
下载 相关 举报
matlab课设.docx_第1页
第1页 / 共9页
matlab课设.docx_第2页
第2页 / 共9页
matlab课设.docx_第3页
第3页 / 共9页
matlab课设.docx_第4页
第4页 / 共9页
matlab课设.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

matlab课设.docx

《matlab课设.docx》由会员分享,可在线阅读,更多相关《matlab课设.docx(9页珍藏版)》请在冰豆网上搜索。

matlab课设.docx

matlab课设

《matlab》课程设计告

 

专业电子信息工程班级0901

设计题目图像的傅里叶变换及应用

设计人姓名杨亚娟学号2009001244

同组人杨鸿琼杨雪余道军吴书侃吴宗江

2011/6/25

设计四:

图像的傅立叶变换及其应用

一、设计目的:

通过该设计,掌握傅立叶变换的定义和含义

二、设计内容:

1.图像的离散傅立叶变换

2.快速傅立叶变换的应用

三、总体方案设计:

1.图像的离散傅里叶变换:

假设

是一个离散空间的二维函数,则该函数的二维傅里叶变换定义为

其中

是频域变量,单位是弧度/采样单元。

函数

)为函数

的频谱

二维傅里叶反变换的定义为

因此,函数

可以用无数个不同频率的复指数信号的和表示,在频率

处复指数信号的幅度和相位为

MATLAB提供的快速傅里叶变换函数:

1)fft2:

用于计算机二维快速傅里叶变换,其语法格式为

b=fft2(Ι),返回图像Ι的二维傅里叶变换矩阵,输入图像Ι和输出图像B大小相同;

b=fft2(Ι,m,n),通过对图形Ι剪贴或补零,按用户指定的点数计算二维傅里叶变换,返回矩阵B的大小为m×n。

很多MATLAB图像显示函数无法显示复数图像,为了观察图像傅里叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs函数。

2)fftn:

用于计算n维快速傅里叶变换,其语法格式为fftn:

b=fftn(I),计算图像的n维傅里叶变换,输出图像B和输入图像I大小相同;

B=FFTN(I,size),通过对图像I剪贴过补零,按size指定的点数计算n维傅里叶变换,返回矩阵B的大小为size。

3)fftshift:

用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:

b=fftshift(Ι),将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。

2、快速傅里叶变换的应用

1)滤波器频率响应

滤波器冲激响应的傅里叶变换就是该滤波器的频率响应。

MATLAB提供的freqz2函数可以同时计算和现示滤波器的频率响应,其语法格式为:

freqz2(h),可同时计算和现示滤波器的频率响应。

2)快速卷积

傅里叶变换的另一个重要特性是能够实现快速卷积,由线性系统理论可知,两个系统卷积的傅里叶变换等于两个函数的傅里叶变换的乘积。

该特性与快速傅里叶变换一起,可以快速计算函数的卷积。

假设A为M×N矩阵,B为P×Q矩阵,则快速卷积方法如下

(1)对A和B补0,使其大小都为(M+P-1)×(N+Q-1)

(2)利用函数fft2对矩阵进行二维FFT变换;

(3)将两个FFT结果相乘,利用函数ifft2对得到的乘积进行傅里叶反变换

另外,利用MATLAB提供的卷积函数conv2可以直接对两个函数进行卷积,其语法格式为:

C=conv2(A,B),计算A和B的二维卷积。

四、设计报告要求

(1)加载imdemossaturn2文件,显示文件中的图像saturn2,并对其进行傅里叶变换,给出源程序及结果,并显示其幅值的结果

(2)对矩阵A=magic(3)和B=ones(3)按照快速计算卷积的方法计算两个矩阵的卷积,并用卷积函数conv2验证结果,给出源程序及结果。

五、源程序

(1)

>>y=imread('saturn.png');

>>image(y)

>>b=fft2(y);

Warning:

FFTonvaluesofclassUINT8isobsolete.

UseFFT(DOUBLE(X))orFFT(SINGLE(X))instead.

>Inuint8.fftat10

Infft2at25

>>x=abs(b);

>>c=uint8(x);

>>imshow(c)

Warning:

Imageistoobigtofitonscreen;displayingat33%

>Inimuitools\private\initSizeat86

Inimshowat196

(2)

>>A=magic(3)

A=

816

357

492

>>B=ones(3)

B=

111

111

111

>>A(5,5)=0

A=

81600

35700

49200

00000

00000

>>B(5,5)=0

B=

11100

11100

11100

00000

00000

>>x=fft2(A)

x=

Columns1through3

45.00007.5000-23.0826i7.5000+5.4491i

7.5000-23.0826i-15.2254-1.3143i13.0902+9.5106i

7.5000+5.4491i10.0000+5.2573i12.7254-2.1266i

7.5000-5.4491i1.9098-5.8779i1.9098+4.2533i

7.5000+23.0826i13.0902+2.6287i10.0000+8.5065i

Columns4through5

7.5000-5.4491i7.5000+23.0826i

10.0000-8.5065i13.0902-2.6287i

1.9098-4.2533i1.9098+5.8779i

12.7254+2.1266i10.0000-5.2573i

13.0902-9.5106i-15.2254+1.3143i

>>y=fft2(B)

y=

Columns1through3

9.00001.5000-4.6165i1.5000+1.0898i

1.5000-4.6165i-2.1180-1.5388i0.8090-0.5878i

1.5000+1.0898i0.8090-0.5878i0.1180+0.3633i

1.5000-1.0898i-0.3090-0.9511i0.3820

1.5000+4.6165i2.6180-0.3090+0.9511i

Columns4through5

1.5000-1.0898i1.5000+4.6165i

-0.3090-0.9511i2.6180

0.3820-0.3090+0.9511i

0.1180-0.3633i0.8090+0.5878i

0.8090+0.5878i-2.1180+1.5388i

>>z=x.*y

z=

1.0e+002*

Columns1through3

4.0500-0.9531-0.6925i0.0531+0.1635i

-0.9531-0.6925i0.3023+0.2621i0.1618+0.0000i

0.0531+0.1635i0.1118-0.0162i0.0227+0.0437i

0.0531-0.1635i-0.0618-0.0000i0.0073+0.0162i

-0.9531+0.6925i0.3427+0.0688i-0.1118+0.0688i

Columns4through5

0.0531-0.1635i-0.9531+0.6925i

-0.1118-0.0688i0.3427-0.0688i

0.0073-0.0162i-0.0618+0.0000i

0.0227-0.0437i0.1118+0.0162i

0.1618-0.0000i0.3023-0.2621i

>>D=ifft2(z)

D=

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

>>C=conv2(A,B)

C=

8915760000

11173019130000

15304530150000

721302390000

413151120000

000000000

000000000

000000000

000000000

subplot(1,2,1);plot(C);title('MatrixC');

subplot(1,2,2);plot(D);title('MatrixC')

六、仿真结果

(1)

(2)

七.课程设计总结

我通过该设计,熟练掌握傅立叶变换的定义及含义,理解对图像的离散傅立叶变换。

更进一步了解MATLAB的语法规则与编辑方法。

学会快速傅立叶变换的应用:

滤波器频率响应和快速卷积。

等很多光看书学不到的东西。

更加加深了我对MATLAB这门课程的兴趣与理解。

八.课程设计心得体会

经过了一个学期的MATLAB的学习,我们掌握了很多关于MATLAB操作方面,编程方面的知识。

这个学期末,我们小组在一起研究了关于“图像的傅里叶变换及其应用”方面的课程设计。

每一天过得比以前更加紧张而充实,实验室里,图书馆里,留下了我们忙碌的身影。

虽然到现在只有短短不到两周的时间,但是通过实验所获得了不少阶段性成果,从中学到了许多重要的东西,不仅仅是在编程设计方面,也有许多人生成功方面的体会。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1