图像的傅里叶变换、反变换地实现.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实用标准文案

精彩文档

精彩文档

课程大作业实验报告

图像傅里叶变幻、反变换的实现

课程名称:数字图像处理

组 长:王文雄 学号:200730590323 年级专业班级:07通信3班

成员一:

庞柱坚

学号:200730590318

年级专业班级:07通信3班

成员二:

王弥光

学号:200730590322

年级专业班级:07通信3班

成员三:

学号:

年级专业班级:07通信3班

指导教师 邓继忠

报告提交日期 2010年 6 月1日 项目答辩日期 2010年 6 月1日

目 录

项目要求 3

项目开发环境 3

系统分析 3

系统的主要功能分析 3

系统的关键问题及解决方法(或思路) 6

系统设计 8

程序流程图及说明 8

程序主要模块(或功能)介绍 10

一维FFT和IFFT 10

二维图像FFT和IFFT: 11

实验结果与分析 12

实验结果 12

项目的创新之处 13

存在问题及改进设想 13

心得体会 14

系统开发的体会 14

对本门课程的改进意见或建议 14

附件一 15

1.项目要求

基本要求:自修教材相关内容(P52-74)或其它参考资料,在CVI下编程对尺寸为2N(N

为正整数)的图像进行FFT(快速傅里叶变换)和(快速傅里叶反变换)。

(不能利用CVI下的函数)

题目拓展:编程实现任意大小图像的二维傅立叶的变换与反变换。

项目开发环境

项目开发环境主要分为软件环境和硬件环境

软件:LabWindows/CVI和IMAQ_VisionforLabWindows/CVI。LabWindows/CVI是美国NationalInstrument(简称NI)公司开发的基于C语言的虚拟仪器开发平台,适用于自动测试、自动控制、测试仪器通信、测试硬件控制、信号分析及图像处理等软件的开发。经过版本的不断更新,LabWindows/CVI已经成为测控领域应用最为广泛的软件开发工具之一。而IMAQ_VisionforLabWindows/CVI是NI公司开发的基于LabWindows/CVI的高级图像处理和分析软件包,是进行图像处理和分析的教学和科研的有力工具。软件包提供了3个重要的文件:

硬件:个人PC电脑(主频:2.6GHZ*2内存:1G*2)

系统分析

系统的主要功能分析

傅里叶变换是研究信号频域特性首要数学工具。在数字图像频域处理中,常常要对二维图像做快速傅里叶变换,由于傅里叶变换的可分离性,二维快速傅里叶变可以分解为对行、列两个方向的一维快速傅里叶变换,所以在LabWindows/CVI集成开发

环境下实现二维图像的快速傅里叶变换的关键是一维傅里叶变换的实现。在本系统设计过程中,主要分成两个部分完成:

第一部分是一维快速傅里叶变换,该部分所包含的变量函数基本上不依赖于特定的软件平台,仅仅与C语言有关,这部分是为二维快速傅里叶服务的。主要有内容及其作用如表格1所示。

表1一维快速傅里叶变换及反变换功能模块列表

内容 C程序(数据定义、函数声明等) 功能

复数数据类型定义

typedefstruct

{

doublereal;doubleimg;

}complex;

定义描述快速傅里叶变换及其反变换数据的类型。

复数类型的四则运算voidadd(complexa,complexb,这四个函数分别完成两个复complex*c); 数类型数据a和b的加法、voidmul(complexa,complexb,减法、乘法和除法运算,运complex*c); 算结果存放于指针c指向的voidsub(complexa,complexb,数据空间。

complex*c);

voiddivi(complexa,complexb,complex*c);

初始化快速傅里叶变 voidinitW(intlegnth);

该函数完成W0~WN/2的计

N N

换及其反变换变换核

NN算,W0~WN/2在碟新运算时

N

N

Wi

N 需要用到;参数legnth是一

次快速傅里叶变换或反变换的数据长度。

“倒位序”处理函数 voidchange(intlegnth,complex 该函数完成数据的自然顺序source[]); 到“倒位序”的变换处理或是“倒位序”到自然顺序的

变换处理;参数

变换处理;参数legnth是一

次快速傅里叶变换或反变换的数据长度,source[]是待变换的数据。

快速傅里叶变换

void fft(int length, comple

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档