基于gui的fft运算(编辑修改稿)内容摘要:
T、原始图像、内置 FFT、内置 IFFT。 输入界面 程序在 MATLAB 软件 M 文件中输入,输入完毕无误后,即可运行得出结果。 MATLAB 输入界面如图 41 所示: 图 41MATLAB输入界面 设计结果 编写程序使得实现对图片取灰度,并对灰度进行 FFT 及 IFFT 运算,得出相应的图片。 同时利用 MATLAB 软件系统内置的 FFT 及 IFFT 程序进行相应的运算。 在 MATLAB M 文件中运行程 序后,可得到如图 42 所示的结果。 图 42程序运行结果 课程设计说明书 10 通过对比 MATLAB 软件中程序运行的结果(即图 42),可看出自建 FFT 及IFFT 程序与系统内置程序运行得出的结果不完全一致。 其中,自建程序得出的图片比内置程序得出的图片亮度较量些,并且自建FFT2 函数结果图片比内置 FFT2 结果图片窄。 课程设计说明书 11 5 系统人机对话界面 图形用户界面( GUI),是一种提供人机交互的工具和方法。 GUI 是包含图形对象,如窗口、图标、菜单和文本等图文并茂的用户界面。 界面设计 用 MATLAB 图形用户界面开发环境设计 GUI 点的一般步骤是:。 M 语言编程。 以本设计要求为例介绍。 第一步,该选择本图形用户界面需要的控件: 八个推按钮 (Push button),用来运行和退出。 六个轴对象 (axes)用来显示自编的原始图像、 FFT、 IFFT 以及内置的原始图像、 FFT、 IFFT。 完成人机设计界面如图 51 所示: 图 51人机设计界面 第二步,设置控件属性。 双击组件可以设置文本框,推按钮的属性,如显示大小,名称和默认值等。 第三步,编写回调函数。 组件事件的发生是通过回调函数进行工作的。 控件设置完成后保存,然后运行 GUI(操作为 ctrl+T),就会进入 editor 窗口,加入各个控件功能的函数代码。 完成后保存即可。 第四步,运行 GUI。 运行 editor 窗口的程序后,会弹出已经激活的人机对话界面。 系统人机对话界面如图 52 所示: 课程设计说明书 12 图 52人机对话界面 运行调试 运行 GUI,已经弹出图 52 的系统人机对话界面,然后点击“原始图片”推按钮,根据提示选择图片,就得到自编程序的原始图像。 同理可得,点击其他推按钮可得到相应的图像。 而点击“总体”推按 钮,则可得到所有的图片。 如果点击“退出”推按钮退出该人机对话界面,返回 Matlab。 如图所示为点击“自编 FFT”推按钮得到的只显示自编 IFFT 结果的图片。 图 53自编 IFFT结果显示图 如图所示为点击“总体”推按钮得到的显示所有的图片。 课程设计说明书 13 图 54总体结果显示图 课程设计说明书 14 心得体会 本次实习的主要内容是通过用 Matlab 实现 FFT 的设计,可以实现对图片采集灰度,并进行 FFT 运算。 把自己编写的 FFT 算法与 Matlab 自带 FFT 算法进行比较。 程序运行调试时,自己选择输入图片,可以实 现 FFT 及 IFFT 的图片。 在之前数字信号处理的学习以及完成实验的过程中,已经使用过 Matlab,对其有了一些基础的了解和认识,通过这次的课程设计使我进一步了解了图片的灰度采集,对其进行 FFT 及 IFFT 运算,以及 MATLAB 及 GUI 的基本命令和一些基础编程语言。 让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具,并且熟练的应用 Matlab 也可以很好的加深我对课程的理解,方便我的思维。 这次课程设计使我了解了 Matlab 的使用方法,提高了自己的分析和动手实践能力。 同时我相信,进一步加强对 MATLAB 的 学习与研究对我今后的学习将会起到很大的帮助。 这次的课程设计是对本学期所学知识的一次重要巩固,使得在课堂上掌握的知识得到了真正的运用。 在学习的过程中和同学讨论,更明白了理论知识与实践的联系。 书到用时方恨少,有些知识学会是一回事,掌握是一回事,但应用起来,确实不是那么简单的,需要很多知识的融会贯通。 程序运行调试初期,曾经多次出现错误、不能产生图形等问题,但在我翻阅资料认真改正及老师同学的帮助下基本功能还是完成了,经过 1 个星期的上机实习,程序已得到一些完善,能完成基本的要求的功能。 最后经过努力,又深入学习了图 形用户界面( GUI),完成了选做要求的人机对话界面。 学习就是一个了解,疑惑,进而解惑的过程,这次实习就是提供了这样一个发现自己知识漏洞,与同学老师探讨进行解惑的的机会。 通过这次课程设计实习,我更深刻的了解了 Matlab 的运用,重新复习了 FFT的程序,对课本上的知识有了更深的理解,使我对数字信号处理有了系统的 认知。 课程设计说明书 15 参考文献 [1]范寿康, DSP 技术与 DSP 芯片,北京,电子工业出版社 , 2020 [2]程佩青,数字信号处理教程,北京,清华大学出版社出版, 2020 [3]高西全,丁玉美等,数字 信号处理,北京,电子工业出版社, 2020 [4]奥本海姆,离散时间信号处理 .科学出版社, 2020 [5]宗孔德,胡广书 .数字信号处理 .清华大学出版社, 1997 [6]余成波 , 陶红艳 , 数字信号处理及 MATLAB 实现 , 北京,清华大学出版社, 2020 [7]曹弋,赵阳 , MATLAB 实用教程,北京,电子工业出版社, 2020 课程设计说明书 16 附录 I MATLAB 设计程序 function image_process_FFT() [filename, pathname]=uigetfile({39。 *.jpg。 *.tif。 *.bmp。 *.gif39。 },39。 File Selector39。 )。 %图片路径、文件名称 image=imread(strcat(pathname,filename))。 %读取图片 if ndims(image)==3 %ndims(a)表示矩阵 a的维数,即 length(size(a)) image=rgb2gray(image)。 end scrsz=get(0,39。 ScreenSize39。 )。 figure(39。 position39。 ,[0 0 scrsz(3)1 scrsz(4)])。 set(gcf,39。 Name39。 ,39。 快速傅里叶变换 39。 )。 subplot(2,3,1)。 imshow(image)。 title(39。 原始图像 39。 )。 subplot(2,3,4)。 imshow(image)。 title(39。 原始图像 39。 )。 [r,c]=size(image)。 array=image。 t=log2(r)。 t1=floor(t)。 % floor(x):下取整,即舍去正小数至最近整数 t2=ceil(t)。 % ceil(x):上取整,即加入正小数至最近整数 if t1~=t2 array(2^t2,c)=0。 end [r1,c1]=size(array)。 t=log2(c1)。 t3=floor(t)。 t4=ceil(t)。 if t3~=t4 array(r1,2^t4)=0。 end [r1,c1]=size(array)。 n=r1/2。 data_col=zeros(1,n,39。 double39。 )。 %按列方向计算时用到的 课程设计说明书 17 for m=1:n data_col(m)=exp(1i*2*pi*(m1)/r1)。 end n=c1/2。 data_row=zeros(1,n,39。 double39。 )。 %按行方向计算时用到 for m=1:n data_row(m)=exp(1i*2*pi*(m1)/r1)。 end array=transform_fft2(array)。 Ft=fftshift(array)。 S1=log(1+abs(Ft))。 subplot(2,3,2)。 imshow(S1,[])。 title(39。 自建 FFT2函数结果 39。 )。 array=transform_ifft2(array)。 array=abs(array)。 array=array(1:r,1:c)。 subplot(2,3,3)。 imshow(array,[])。 title(39。 自建 IFFT2结果 39。 )。 F=fft2(image)。 FC=fftshift(F)。 S=log(1+abs(FC))。 subplot(2,3,5) imshow(S,[])。 title(39。 内置 FFT2结果 39。 )。 array=ifft2(F)。 array=round(abs(array))。 subplot(2,3,6)。 imshow(array,[])。 title(39。 内置 IFFT2结果 39。 )。 return function array=transform_fft2(array) array=double(array)。 课程设计说明书 18 [r1 c1]=size(array)。 for j=1:r1 array(j,:)=transform_fft(array(j,:))。 end。基于gui的fft运算(编辑修改稿)
相关推荐
子和算法逻辑的。 开始玩家落子判定落子合法性判定游戏是否结束计算机落子判定游戏是否结束结束NNYYYN 图 事件驱动 游戏循环 7 C a n v a s画 布F I R C a n v a sF I R L o g i c逻 辑D o t棋 子F I R M I D l e t主 类M I D l e tA b o u t关 于 表 单A b o u t设 置 表 单图 类结构 游戏的流程
生命耗尽,游戏结束,玩家可以选择重玩,但需要双方 做出一致选择。 四川师范大学成都学院本科毕业设计 6 3 总体设计 程序运行流程 本游戏程序运行需要玩家双方在局域网内建立通信,也可在同一电脑上建立通信,但只能 操作 一个玩家。 具体运行流程如图 所示: 图 程序 运行流程如图 总体构架 本游戏 在设计过程中,为了降低设计难度,将整个程序按模块进行单独编写, 包括开始 服务器建立主机 建立成功
JSP页面,而不影响内容的生成。 JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。 [10] 重庆邮电大学本科毕业设计(论文) 8 第二节 AJAX 原理 Ajax这个概念的最早提出者 Jesse James Garrett认为 :Ajax是 Asynchronous JavaScript and XML 的缩写。 Ajax
体的瞬间立体目标的位置坐标 (X, Y, Z)用已确定的相距距离的已知参考点所发出的极其精确的无线电脉冲时钟源来测定,然后利用地面接收器中己存入的由高等解析几何所构成的模型,建立三维位置量和一个时间量的算法方程。 GPS 为全球用户提供了非常精确的三维定位坐标信息 速度信息、时间和频率参考,它以 4 个卫星射频信号的时间测量为基础,整个卫星系统平台由 21 颗工作卫星和 3 颗备用卫星组成
logy roadmap 毕节学院本科毕业论 文(设计) 第 5 页共 22 页 2. 毕节市七星关区中国工商银行的网点布局影响因素探讨 行政区划 行政区划是银行分布的很 重要的一个因素。 在我国经济发展的历程中, 大型国有 和 地方城市商业银行的布局 都 体现着这一 特征。 中国工商银行 毕节分行碧阳支行、毕节分行奢香支行 均说明这 一 问题。 金融政策
HDL 程序如下: module clkfs(clk,clkss,clksy,clk66MHz)。 input clk66MHz。 output clk,clkss,clksy。 reg clk,clkss,clksy。 reg[9:0] count1。 reg[6:0] count2。 reg[7:0] count3。 reg[5:0] count4。 reg cin1,cin2。