实验五图像的傅立叶变换和边缘检测算法实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1实验五图像的傅立叶变换和边缘检测算法实现第一部分图像的傅立叶变换一、实验目的1.了解图像变换的意义和手段;2.熟悉傅里叶变换的基本性质;3.熟练掌握FFT的方法及应用;4.通过实验了解二维频谱的分布特点;5.通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。二、实验原理1.应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。2.傅立叶(Fourier)变换的定义对于二维信号,二维Fourier变换定义为:二维离散傅立叶变换为:11200112100,,,,0,1,...,1,0,1,...,11,,,0,1,...,1,0,1,...,1uxvyMNjMNxyuxvyMNjMNuvFfxyFuvfxyeforuMvNFFuvfxyFueforxMyNMN二维DFT变换的复数表示,傅立叶谱,相位,能量谱为:22222,,,,,,,,argtan,,,,FuvRuvjIuvFuvRuvIuvIuvuvRuvEuvRuvIuv其中,f(x,y)是一幅图像,F(u,v)是它的傅立叶变换。图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。3.利用MATLAB软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’);%读入原图像文件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);%显示原图像的频谱三、实验步骤1.打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;2.利用MatLab工具箱中的函数编制FFT频谱显示的函数;3.a)调入、显示三张不同的图像;b)对这三幅图像做FFT并利用自编的函数显示其频谱;c)讨论不同的图像内容与FFT频谱之间的对应关系。4.记录和整理实验报告。四、实验仪器31计算机;2MATLAB软件;3移动式存储器(U盘等)。五、实验报告内容1叙述实验过程;2提交实验的原始图像和结果图像及程序。六、思考题1.傅里叶变换有哪些重要的性质?2.图像的二维频谱在显示和处理时应注意什么?第二部分图像边缘检测一.实验目的:掌握常用图像边缘检测方法的算法原理及其编程实现。二.实验原理:边缘就是图像中包含的对象的边界所对应的位置。物体的边缘以图像局部特性的不连续性的形式出现的,例如,灰度值的突变,颜色的突变,纹理结构的突变等。从本质上说,边缘就意味着一个区域的终结和另外一个区域的开始。图像边缘信息在图像分析和人的视觉中十分重要,是图像识别中提取图像特征的一个重要属性。边缘检测(edgedetection)在图像处理和对象识别领域中都是一个重要的基本问题。由于边缘的灰度不连续性,可以使用求导数的方法检测到。最早的边缘检测方法都是基于像素的数值导数的运算。现在使用的边缘检测算法大致可以归纳为两类:梯度(gradient)算子和拉普拉斯(Laplacian)算子。在空间域可以借助微分算子通过卷积运算来完成,空间域的微分在离散数字图像可以采用差分来近似。基于一阶导数的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子等,基于二阶导数的边缘检测算子有Laplacian算子、Wallis算子,LOG算子是一种改进的方式,Canny算子等。几种算子模板分别为:Roberts算子模板:10011D01102DSobel算子模板:4121000121xD101202101yDPrewitt算子模板:111000111xD101101101yDLaplacian算子模板:0101410101LLOG算子:20002408044824844080424442其它算法原理请参照有关教材。三.实验内容:1.编制一个通用的边缘提取函数。通过输入不同的参数,能够实现Sobel算子、Prewitt算子、Roberts算子、Laplacian算子和Canny边缘检测,并比较不同算子处理后的边缘图像的特点。(实验图像任选)MATLAB图像处理工具箱提供的edge函数可以实现检测边缘的功能,详细的使用语法可以在MATLAB命令窗口键入”helpedge.m”获得帮助。该函数只能应用于灰度图像,其基本原理就是识别图像中灰度值变化较大的像素点。2.编写M-function函数,分别实现用Roberts,Sobel、Prewitt、Laplacian、LOG、Canny算子进行静态图像边缘检测的算法,并对测试图像进行检测,显示原图像、处理后的图像,观察不同算子的处理效果。四.实验步骤:a、读入图像b、对图像依次进行Sobel算子,Prewitt算子,Roberts算子,Laplacian算子和Canny算子运算,比较处理结果。5可能用到的函数:imread('rice.tif');edge(I,'canny');imshowfigure五、实验仪器1计算机;2MATLAB软件;rice原图Prewitt算子边缘检测canny算子边缘提取63移动式存储器(U盘等)。六、实验报告内容1.叙述实验过程;2.提交实验的原始图像和结果图像及程序;3.比较各种算子边缘检测的效果并分析。七、思考题1.如何理解图像的边缘?常用的边缘检测算法有哪些?并简述各种算子进行边缘检测的原理。2.基于微分方法的边缘检测算法的依据是什么?3.总结本次实验。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功