课程设计机器视觉报告_第1页
课程设计机器视觉报告_第2页
课程设计机器视觉报告_第3页
课程设计机器视觉报告_第4页
课程设计机器视觉报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录TOC\o"1-5"\h\z\o"CurrentDocument"摘要I\o"CurrentDocument"AbstractII\o"CurrentDocument"概述3\o"CurrentDocument"1.1机器视觉3\o"CurrentDocument"1.2数字图像处理3\o"CurrentDocument"1.3MATLAB4\o"CurrentDocument"1.4课程设计任务.4\o"CurrentDocument"边缘检测5\o"CurrentDocument"2.1边缘检测简介5\o"CurrentDocument"2.2检测方法5\o"CurrentDocument"2.3边缘检测算子.62.4边缘检测仿真结果12\o"CurrentDocument"轮廓提取13\o"CurrentDocument"3.1基于边缘检测的轮廓提取13\o"CurrentDocument"3.2基于HSV空间H的参数图像的轮廓提取14\o"CurrentDocument"实验小结15\o"CurrentDocument"参考文献15附录:源程序代码错误!未定义书签。边缘检测程序错误!未定义书签。轮廓提取程序错误!未定义书签。基于HSV空间H参数的图像轮廓提取错误!未定义书签。摘要机器视觉系统就是利用机器代替人眼来作各种测量和判断。它是计算机学科的一个重要分支,它综合了光学、机械、电子、计算机软硬件等方面的技术,涉及到计算机、图像处理、模式识别、人工智能、信号处理、光机电一体化等多个领域。图像处理和模式识别等技术的快速发展,也大大地推动了机器视觉的发展。边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。本实验对机器视觉系统中的底层技术一一边缘检测和轮廓提取算法进行设计和实验。针对一幅图像,利用边缘检测算子(如Robert算子、Sobel算子、Prewitt算子、Laplace算子、Kirsch算子和Marr算子)检测出图像的边缘,然后采取轮廓提取算法得到封闭的二值图像轮廓。关键词:机器视觉、数字图像处理、边缘检测、轮廓提取AbstractMachinevisionsystemistousemachinesinsteadofhumaneyestomakeallkindsofmeasurementandjudgment.Itisanimportantbranchofcomputerscience,whichcombinesoptical,mechanical,electronic,computersoftwareandhardwaretechnology,involvesthecomputer,imageprocessing,patternrecognition,artificialintelligence,signalprocessing,optic-mechanicalintegration,andotherfields.Therapiddevelopmentofimageprocessingandpatternrecognitiontechniquessuchas,alsogreatlypromotethedevelopmentofmachinevision.Edgedetectionisthebasicprobleminimageprocessingandcomputervision,edgedetectionistoidentifythepurposeofthedigitalimagebrightnesschangesintheobviouspoints.Significantchangesinimageattributesusuallyreflectthepropertiesoftheimportanteventsandchanges.Theseincludethedepthdirectionofthediscontinuous,surfacediscontinuity,materialpropertiesandsceneilluminationchanges.Edgedetectionisimageprocessingandcomputervision,especiallyaresearchfieldinfeatureextraction.Imageedgeisoneofthemostbasiccharacteristicsoftheimage,oftencarryinganimagemostoftheinformation.Theimageedgeinirregularstructureandthenotsmoothphenomenon,whichexistsintheabruptchangepointofthesignal,thesepointsaregiventhelocationoftheimagecontour,thecontourisoftenwhatweneedinimageedgedetectionisveryimportanttosomeofthecharacteristicsoftheconditions,thisrequiresustotheedgeofanimagedetectionandextractit.Theexperimentonthemachinevisionsystem,theunderlyingtechnologyinedgedetectionandcontourextractionalgorithmtocarryonthedesignandexperiment.Foranimage,usingedgedetectionoperator(suchasRobertoperator,Sobeloperator,Prewittoperator,Laplaceoperator,KirschoperatorandMarroperator)todetecttheimageedge,andthentogetclosedcontourextractionalgorithmofbinaryimagecontour.Keywords:machinevision,digitalimageprocessing,edgedetectionandcontourextraction概述1.1机器视觉机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。1.2数字图像处理数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。自从1986年JohnCanny提出了最优边缘检测算子的三条准则并推导出了一个近似实现。但是在实际中,真正实现这一目标尚有较大的难度。这是因为:(1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时噪声和边缘都属于高频信息,在进行滤波的同时,虽然能够在一定程度上抑制噪声,却也丢失了边缘信息。(2)由于场景、光照条件的边缘等原因,同一场景在不同光照条件下得到的边缘可能也是不同的,设置的阈值也可能是不同的。针对这些问题,如何进行改进,并得到较理想的边缘检测算子是有必要的。另一方面,轮廓提取技术是图像分割、目标区域识别区域行状提取等图像分析处理领域十分重要的基础。寻求非接触、精度高、具有综合分析能力的识别方法来代替人工目测,解决图像表面的模式识别和测量问题,是图像加工行业面临的一大难题,也是值得我们长期探讨的科研课题1.3MATLABMATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。1.4课程设计任务对机器视觉系统中的底层技术一一边缘检测和轮廓提取算法进行设计和实验。要求:针对一幅图像,利用边缘检测算子(如Robert算子、Sobel算子、Prewitt算子、Laplace算子、Kirsch算子和Marr算子)检测出图像的边缘,然后采取轮廓提取算法得到封闭的二值图像轮廓。边缘检测2.1边缘检测简介边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。边缘可能与视角有关一一也就是说边缘可能随着视角不同而变化,典型地反映在场景、物体的几何形状一个将另一个遮挡起来,也可能与视角无关一一这通常反映被观察物体的属性如表面纹理和表面形状。在二维乃至更高维空间中,需要考虑透视投影的影响。2.2检测方法一般图像边缘检测方法主要有如下四个步骤:1)图像滤波:传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的损失,因此,在增强边缘和降低噪声之间需要一个折中的选择。2)图像增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度的幅值来完成的。3)图像检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判断依据是梯度幅值。4)图像定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。

2.3边缘检测算子Reborts算子Reboerts算子是一种利用局部差分来寻找边缘的算子,Roberts梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:Gx=f(i,j)-f(i-1,j-1)(2.3.3(2.3.5)Gy=f(i-1,j)-f(i,j-1)(2.3.4IG(x,y)1=\;G2+G2Roberts梯度算子对应的卷积模版为:(2.3.5)「―10「0―「Gx=01Gy=10(2.3.6)用以上两个卷积算子与图像运算后,可求出图像的梯度幅值G(x,y),然后选择适当的阈值t,若G(x,y)>T,贝(i,j)为边缘点,否则,判断(i,j)为非边缘点。由此得到一个二值图像「―10「0―「Gx=01Gy=10(2.3.6)Sobel算子Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为3X3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行微分,加强了对噪声的一致。Sobel算子所对应的卷积模版为:-1-101'-12-1Gx=-202Gy=000-101121(2.3.7)图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值G(x,y),然后选取适当的阈值t,若G(x,y)>T,贝Q(i,j)为边缘点,否则,判断(i,j)为非边缘点。由此得到一个二值图像{g(i,j)},即边缘图像°Sobel算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,Sobel算子是一种较为常用的边缘检测算法。Prewitt算子同Sobel算子相似,Prewitt算子也是一种将方向的差分运算和局部平均相结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,所不同的是,Sobel算子是先做加权平均然后再微分,Prewitt算子是先平均后求微分,其对应的卷积模版为:-101'-1-1-1Gx=-101Gy=000-1-101'-1-1-1Gx=-101Gy=000-101111(2.3.8)在此基础上,有人提出了改进的Prewitt算子,将其扩展到八个方向,依次用这些边缘模板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值P[i,j],这样就可将边缘像素检测出来。八个方向的Prewitt算子模板及其所对应的边缘方向如下所示:-111'111'111'111'-1-21-1-211-211-2-1-111-1-11-1-1-111-10°方向45。方向90°方向135°方向11-11-1-1-1-1-1-1-11'1-2-11-2-11-21-1-2111-1111111111180°方向225。方向270°方向315°方向Prewitt算子通过对图像上的每个像素点的八方向邻域的灰度加权差之和来进行检测边缘,对噪声有一定抑制作用,抗噪性较好,但由于采用了局部灰度平均,因此容易检测出伪边缘,并且边缘定位精度较低。Kirsch算子Kirsch算子是一种3X3的非线性方向算子。其基本思想是希望改进取平均值的过程,从而尽量使边缘两侧的像素各自与自己同类的像素取平均值,然后再求平均值之差,来减小由于取平均值所造成的边缘细节丢失。通常采用八方向Kirsch模板的方法进行检测,取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。常用的八方向Kirsch模板如下所示:-3-35-355'55555-3-305-305-30-350-3-3-35-3-3-3-3-3-3-3-3-30°方向45°方向90°方向135°方向

5-3-35-3-350-35-3-3-3-3-350-355-3180°方向225。方向-3-3-3-30-3555270°方向-3-3-3'-305-355315。方向实际的应用中,通常都是利用简单的卷积核来计算方向差分的,不同的算子对应着不同的卷积核。它们在图像的像素点上所产生的两个方向的偏导数用均方值或者绝对值求和的形式来近似代替梯度幅值,然后选取一个合适的阈值,用所得到的梯度幅值和所设定的阈值进行比较来判断边缘点。若大于所取的阈值,则判断为边缘点;否则,判断为非边缘点。很显然,在提取边缘的过程中,阈值的选取特别重要,尤其在含噪图像中,阈值的选择要折衷考虑噪声造成的伪边缘和有效边缘的丢失。Laplace算子拉普拉斯算子是不依赖于边缘方向的二阶导数算子,它是一个标量而不是向量,具有旋转不变即各向同性的性质。若只关心边缘点的位置而不需要了解其周围的实际灰度差时,一般选择该算子提取图像的边缘。Laplace算子的定义为:V2f=急+等(2.3.9)用差分方程近似二阶偏倒数的结果如下:d2f°°-—=f(x,y+1)-2f(x,y)+f(x,y-1)(2.3.10)ox2d2f…-一一…、-—=f(X+1,y)—2f(x,y)+f(x-1,y)(2.3.11)oy2将这两个式子合并,可以得到近似Laplace算子的模版:[010]V2f=1-41(2.3.12)B10>当Laplace算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区)。原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率。但是拉普拉斯算子在图像边缘检测中并不常用。主要原因有:任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响,一阶导数很小的局部峰值也能导致二阶导数过零点,所以Laplace算子对噪声具有无法接受的敏感性;Laplace算子的幅值产生双边元,这是复杂的分割不希望有的结果;最后,Laplace算子不能检测边缘的方向。为了避免噪声的影响,必须采用特别有效的滤波方法。所以,人们提出了改进的功LOG算子。LOG算子LOG算子基本思想是:先在一定的范围内做平滑滤波,然后再利用差分算子来检测在相应尺度上的边缘。滤波器的选择要考虑以下两个因素:其一是滤波器在空间上要求平稳,即要求空间位置误差△x要小;其二是平滑滤波器本身要求是带通滤波器,并且在有限的带通内是平稳的,即要求频域误差^3要小。根据信号处理中的测不准原理,Ax和△3是相互矛盾的,而达到测不准下限的滤波器就是高斯滤波器。Marr和Hildreth提出的这种差分算子是各向同性的拉普拉斯二阶差分算子。该边缘检测器的基本特征是:所用的平滑滤波器是高斯滤波器增强步骤采用的是二阶导数(即二维拉普拉斯函数)边缘检测的判据是二阶导数过零点并且对应一阶导数的极大值该方法的特点是先用高斯滤波器与图像进行卷积,既平滑了图像又降低了噪声,使孤立的噪声点和较小的结构组织被滤除。然而由于对图像的平滑会导致边缘的延展,因此只考虑那些具有局部梯度极大值的点作为边缘点,这可以用二阶导数的零交叉来实现。拉普拉斯函数可用作二维二阶导数的近似,因为它是一种标量算子。为了避免检测出非显著的边缘,所以应该选择一阶导数大于某一阈值的零交叉点来作为边缘点。实际应用中,常用的LOG算子的模版为:-2-4-4-4-2-4080-4-48248-4-4080-4-2-4-4-4-2说明,高斯平滑运算不但可以滤除噪声,还会导致图像中的边缘和其它尖锐不连续部分模糊,而模糊程度取决于空间尺度因子。的大小。。越大,高斯滤波对噪声的滤除效果越好,但同时也会丢失重要的边缘信息,影响到边缘检测器的性能。如果。较小,又可能导致平滑作用不完全而留有较多的噪声。因此在实际应用中,要根据情况选择适当的。。Canny算子1986年,Canny从边缘检测算子应该满足的三个准则出发,推导出了最优边缘检测算子Canny算子,该算子是目前理论上相对最完善的一种边缘检测算法。Canny提出的评价边缘检测性能优劣的三个准则分别是:(1)好的信噪比准则。即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低;(2)好的定位性能准则。即检测出的边缘点要尽可能在实际边缘的中心;(3)单边缘响应准则。即单一边缘具有唯一响应,单一边缘产生的多个响应的概率要低,并且对虚假边缘的响应应得到最大抑制。利用Canny算子检测边缘的主体算法如下:(1)用式所示的高斯函数h(r)对图像进行平滑滤波,去除图像中的噪声。(2)在每一点计算出局部梯度和边缘方向,可以利用Sobel算子、Roberts算子等来计算。边缘点定义为梯度方向上其强度局部最大的点。(3)对梯度进行“非极大值抑制”。在第二步中确定的边缘点会导致梯度幅度图像中出现脊。然后用算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线。(4)双阈值化和边缘连接。Canny算子是基于最优化思想推导出的边缘检测算子,采用高斯函数对图像作平滑处理,因此具有较强的抑制噪声能力,同样该算子也会将一些高频边缘平滑掉,造成边缘丢失。Canny算子也存在不足之处,一是为了得到较好的边缘检测结果,它通常需要使用较大的滤波尺度,这样容易丢失一些细节;二是Canny算子的双阈值要人为的选取,不能够自适应。

SobelFilterLog-FilterPrevilFilterSobelFilterLog-FilterPrevilFilterRobertaFilzer轮廓提取图像的轮廓作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。它在图像识别,图像分割,图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论