基于机器视觉的圆形工件检测_第1页
基于机器视觉的圆形工件检测_第2页
基于机器视觉的圆形工件检测_第3页
基于机器视觉的圆形工件检测_第4页
基于机器视觉的圆形工件检测_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、机器视觉是人工智能的一个重要领域,是工业自动化的一部分。机器视觉指的就是通过图像采集装置采集图像,再传到图像处理部分,对收集到的图像进行预处理,然后获得图像的特征信息,并对其结果进行判断检测,检查零件是否合格。基于机器视觉检测技术相对于传统的工件检测具有很多的优点,如:实时性、非接触性以及可以在恶劣的条件下完成工作,而且效率也比传统技术高,所以现如今机器人技术被广泛应用于现代工业中。本文的工作内容是利用机器视觉的技术对圆形的工业零件进行检测,机器视觉技术被广泛应用于工业生产以及工业零件的检测中。Opencv是一个图像处理算法库,全称是OpenSourceComputerVisionLibrar

2、y,opencv拥有强大的图像处理能力,本课题利用它完成图像处理并利用hougli变换对获得的圆形-件检测圆形特征。本课题使用的产品开发环境是vsiualstudio2010,并调用opencv计算机视觉开源库。完成对圆形工件的圆形特征检测。本课题详细的介绍了利用机器视觉进行圆形工件检测的原理,其中包括了图像预处理的方式和hougli变换进行圆检测的原理。并借助opencv库对圆形工件进行图像处理以及hougli变换圆检测的内容。并在理想情况下对系统标定,将得到的圆的参数转为实际尺寸,与标准零件的尺寸对比,从而得到两者之间的误差,从结果看出,测量的精度还在接受范围内,基本满足要求。关键字:机器

3、视觉;图像处理;opencv;hough变换第II页AbstractMachinevisionisailimportantfieldofartificialintelligence,anditisapartofindustrialautomation.Macliinevisionistliiougliimageacquisitiondevicecollectstheimage,andthenprocesstheimagethatthecollectedimagesbythrougliimageacquisitiondeviceHiecharacteristicsoftheimagecanbed

4、etectedbytheaboveoperation,andtheparameterscanbejudgedtobequalified.Hiedetectionteclmologybasedonmacliinevisioncomparedwithtraditionalpartdetectionhasmanyadvantages,suchas:real-time,noncontactanditcanworkunderharshconditions,anditismoreefiGcientthantraditionaltechnologyandliigli,sorobotteclmologyisw

5、idelyusedinmodemindustry.Tlieworkoftliispaperistousemachinevisionteclmologytodetectcircularindustrialparts,macliinevisionteclmologyiswidelyusedinindustrialproductionandindustrialpartsinspection.OpencvisanalgoritlimlibraiyforimageprocessingOpencvfiillnameisOpenSourceComputerVisionLibraiy.Opencvhasast

6、rongimageprocessingcapabilities,thistopicusesittocompletetheimageprocessingandtheuseofHouglitransfonntoobtainthecircularfeahireofcircularworkpiecedetectionTlieproductdevelopmentenvironmentisstudiovisiial2010,andusetheopencvcomputervisionopensourcelibraiytofinishedcircularfeahiredetectionofcircularpa

7、rtThistopicwasdetailedintroductiontheprincipleofcircularpartdetectionbasedonmachinevision.thatincludedimagepreprocessingmethodandHouglitransfonncircledetectionprinciple.AndusedtheopencvlibraryforimageprocessingandHouglitransformcircledetection.Andintheidealcaseofsystemcalibration,willobtainthecircle

8、parametersfortheachialsize,andstandardpartssizecomparison,thusobtainstheerrorbetweenthetwo,seenfromtheresults,theprecisionofmeasurementisstillcanbeaccepted,tomeetthebasicrequirementsKeywords:Macliinevision;imageprocessing;Opencv;houglitransform桂林电子科技大学毕业设计(论文)报告用纸目录目录TOC o 1-5 h z HYPERLINK l bookma

9、rk0 ABSTRACTII HYPERLINK l bookmark4 1绪论11.1机器视觉技术概况11.2工件检测国内外现状11.3基于机器视觉的工件检测的研究背景和意义21.4论文的章节安排3 HYPERLINK l bookmark6 2图像预处理42.1图像来源42.1.1数字图像42.1.2图像的荻取与输出42.2图像处理开发平台52.2.1Opencv简介52.2.2Opencv的安装以及环境酉己置52.3图像灰度化以及二值化62.3.1图像灰度化62.3.2图像二值化62.4图像边缘检测72.4.1图像边缘检测的原理72.4.2图像边缘检测算子的选择72.5本章小结9 HYP

10、ERLINK l bookmark8 3圆形工件检测103.1Hough变换原理103.2最小二乘法拟合圆133.3图像金字塔143.4本章小结15 HYPERLINK l bookmark10 4实验和数据分析164.1系统标定164.2实验结果16 HYPERLINK l bookmark12 5总结与展望18 HYPERLINK l bookmark14 致谢20 HYPERLINK l bookmark16 参考文献21附录错误!未定义书签。桂林电子科技大学毕业设计(论文)报告用纸第 页共27页1绪论1.1机器视觉技术概况眼睛,是人类认识世界的窗口,大脑是人类解析世界的平台,视觉,是人

11、们观察世界重要的方式。人类使用摄像装置从周围的环境之中获取需要的图像信息并将之转到计算机,由计算机对图像信息进行解析,从而使人们快速获得信息,这也因此诞生了一门新的学科-机器视觉。机器视觉技术是现如今工业发展很重要的一部分,它涉及人工智能、图像处理等多个领域。人类的视觉可以认为是从观察到辨识的过程,它的目的可以看成是对周围场景观察本质并做出自己的描述规划。机器视觉就是模拟人类的这一功能,通过对得到的物体图像进行一系列处理,发现并提取其中的有效信息,对其进行判断,分析以及处理。机器视觉技术在工业应用方面的发展较为迅速,在这一领域的到了广泛的应用。机器视觉系统的组成结构如图1.1所示图11机器视觉

12、系统结构图1.2工件检测国内外现状在1965年,由麻省理工的Roberts在他的著作之中阐述了依托计算机视觉理论为依据实现从拍摄物体的二维图像到物体三维形状信息的获取的可能性,也因此而开辟了以解析物体三维形状信息为目标的机器视觉理论与研究。在之后的儿十年之中,不断有研究者提出新的方案,将机器视觉技术的理论不断完善,使之应用的范围愈來愈广泛。呈现百家争鸣的态势。国外机器视觉的技术比较成熟,有着较多的人才,也拥有较多的技术专利和自主知识产权机器视觉也被广泛应用于图像处理和工厂的自动化中,在工厂自动化中多用于零件的检测。在国内,机器视觉的发展起步较晚,但是因为中国的制造业近些年的快速发展,对于自动化

13、检测的需求也越来越高,将机器视觉技术发展起來并应用到工业发展之中,是时代的要求,一些是我们用人眼來做的重复性检测都可以尝试利用机器视觉來检测。但是,现如今中国的自主知识产权的产品并不多,绝大多数的产品还需要从国外引进。目前机器视觉的发展方向主要是在电子技术和工业自动化检测这两个领域,而且如今工业进展迅速,国内外的相同行业之间的交流在不断地深入,而且随着如今生产的零件日趋小型化,工作的环境日趋复杂化,每一个行业对工业自动化有着越來越大的需求。尤其是工业检测方面,随着如今机器视觉技术的不断发展,它的用途也越來与广泛,被用在了瓶体瓶盖检测,零件尺寸检测以及印刷品等方面。还有就是例如螺母,圆柱,硬币等

14、等,这些都具有圆形特征的机械工件,圆形零件在很多区域都有很多的应用,有一些需要精确的测量圆形零件的尺寸,以确保零件后期使用的可靠性,而且这些测量工作一般都是重复性的,如果人工进行一是速度慢;二是需要接触零件,不方便。所以将机器视觉利用到工业检测之中是很有必要的。13基于机器视觉的工件检测的研究背景和意义近些年来,工业技术快速发展,我国如今俨然成为了一个制造业大国,在沿海等发达地区有很多的工厂的工作是生产产品零部件,这不可避免的要对零件进行测量,对这些零件的测量主要是通过游标卡尺,千分尺和尺子等精密的测量仪器,但是利用这些传统的仪器进行测量的时候,有可能收到环境,测量力度,视觉距离等因素的影响,

15、而且效率也比较慢,不能适应生产节奏日益加快的当下。在这种需求之下也促使很多的学者和科研人员在这一方面的研究,也提出了很多的基于机器视觉的圆形零件检测的技术方法,他们都力求能获得最快,最精确,最优秀的方法,将之应用于工业生产检测之中。也正因为机器视觉技术和图像处理技术在这些年的不断发展提升,基于机器视觉的零件检测技术在工业领域应用的愈來愈广泛,应用的技术也越來与成熟,生产效率也因而得到提升,工件检测技术是利用图像处理的相关技术包含了人工智能、图像处理等技术。基于机器视觉的工件检测技术与传统检测技术最大的优点就在于与被测物没有接触,不与被测物发生接触则不会对工件有任何影响,在一些人不能工作的地方,

16、基于机器视觉的工件检测技术将发挥很多的用处,而且这一技术检测的结果相比于传统技术而言精度也较高,效率也较高。目前,在工业领域方面有已经开始将这一技术用于产品部件的测量,用來检测产品是否合格,也可以用來检测使用中的产品的磨损度,是否变形等,而且现如今这一领域并没有真正的发展起来,还有很大的发展前景。但是就目前的技术而言,在检测零件时,获取一个清晰的图像没有问题,但是在工业生产过程中的噪音却会对图像上零件的边缘产生比较大的噪声,也就是“火山口”。因此会对零件的特征提取带來很大的麻烦,这会影响检测的精度,这也是基于机器视觉的工件检测技术为什么没有大范围在工业生产领域中大范围的推广的原因之一。而且,如

17、今圆形零件的特征提取的方法并不固定,一种方法中的程序并不适用于所有的零件。但是机器视觉系统是很智能的以及有很强的适应能力,可以因需要改变程序。基于以上的背景因素,在基于机器视觉的工件检测方面进行深入研究,并不仅仅是对于学术领域,在工业生产领域和机械制造业的自动化方面是很有必要的。这一技术的成熟,可以加快工业自动化进程,也必将推动国民经济的迅速发展,这对我们国家乃至世界都是有着巨大作用的。1.4论文的章节安排针对以上的这种情形,本文阐述了一种实施圆形零件检测的方法。本课题的目标是在获得圆形零件图像的情况下,通过计算机数字图像处理技术,利用hougli变换原理检测出圆形,从而得出圆心以及半径。并且

18、以上在所获零件图像处于部分重叠状态时仍能得出结果。本文在认真阅读和分析了机器视觉技术和与圆形检测技术的理论基础知识的基础上,以圆形工件为研究对象本文一下各章的内容如下:第一章:绪论。介绍了机器视觉的概况和阐述了工件测量的背景和研究意义,圆形工件检测的发展状况和章节的安排。第二章:圆形工件图像预处理,并阐述处理方法。第三章:圆形工件的检测,阐明检测圆的方法。第四章:实验和数据分析。第五章:总结与展望。总结本课题所做工作并分析遇到的问题,对所遇到的问题提出建议。2图像预处理图像预处理就是对图像进行简单处理,主要部分就是边缘检测,为下一步特征检测做准备。2.1图像来源2.1.1数字图像我们所说的日常

19、所说的图像可以理解为物体被绘制或者摄制保存的形象。也可以说是视觉景物的某一种形式的表现形式和记录。图像在计算机中是以数字的形式存储下來和工作的。换一个说法就是数字图像就是用数字信号來表现的图像。数字图像相当于一个由mXn的网格,当一幅图像里的每一个位置里都填充一定的颜色之后,就形成了我们日常所看到的完整的图像。其中这些网格也可以称为图像的分辨率,网格越多,图像显示的就越逼真,显示的也清楚。作为一个以数字形式进行存储和处理的图像,数字图像的优点之处在于,利用计算机进行特定的操作,就能够实现使图像进行各种需要的处理和加工,从而获得改变之后的图像。2.1.2图像的荻取与输出图像的获取与输出方式有很多

20、种形式,至今也依旧是人类研究的一个重要方向。不同的图像的获取方式会使图像变现为不同的形式。现如今获取图像的方式有很多种,在工业中检测常见的是利用图像传感器件配套使用,获得高精度的图像,另一种是直接使用USE数字摄像头作为采集设备釆集图像。就目前而言,如果配套的使用一套专用的工业测图像获取装置,其价格还是很惊人的。所以可以采用USB数字摄像头作为图像釆集装置,采集工业测量所需的图像。另外,使用USB数字摄像头也已经可以基本满足测量精度的要求且可以直接与计算机直接进行通讯,直接将釆集的工件图像传输到计算机之中。在釆集图像时还必须配备一个稳定的光源,光源是机器视觉系统之中不可或缺的一部分。光源的作用

21、有以下几点:一是对目标工件进行照明,提高亮度,将图像尽量弄出好的效果;二是克服周围环境中的光照干扰,去除阴影部分,以提高图像的稳定性和保证后期处理的真实性。照明是一个会直接影响到釆集图像的质量和后期图像预处理的效果以及图像检测时能否获得精确地结果的关键因素。光源的选择需要根据工件的特性以及现场的工作环境。白炽灯、节能灯等等。这些都是我们在生活中经常能够见到的,而且这些光源价格低廉,而且获取途径简单,但是不能提供稳定的光照。还有一些也被经常使用的不可见光例如:红外线、X射线等,虽然这些光源可以使测量的精度提升,但是获取途径复杂,产生的费用也比釆用的可见光贵很多。综上所述,图像采集系统的光源选择白

22、炽灯,白炽灯己经可以基本满桂林电子科技大学毕业设计(论文)报告用纸第 页共27页足。通过光源和USB数字摄像头组成的图像采集装置将需要测量的圆形零件的图像采集到个人计算机之中,为图像处理做准备。2.2图像处理开发平台2.2lOpei】cv简介Opeiicv全称是OpenSourceComputervisionLibrary,意思是开放的源代码计算机视觉库。Opencv是一个开源的跨平台的计算机视觉库,它是intei公司为了减小程序开发人员的工作量而开发出来的。可以在很多操作系统上使用,例如window等。这个库里面包含了大量的C函数和C+类,而且可以与很多软件一起使用。也正因为它实现了图像处理

23、的简单化和在机器视觉方面有很多可以通用的算法,目前己经是一种较为流行的图像处理方式,在全世界范围内都有广泛的应用。222Opei】cv的安装以及环境配置本文中,通过vsiualstudio2010调用opencv中的库函数,调用之前必须对其进行配置。第一步:安装vsiualstudio2010和解压opencv和系统环境变量的配置。第二步新建项目,打开属性管理器,右击Microsoft.Cpp.Wiii32.user-tt-VC-H-目录,在包含目录中添加E:opencvbuildincludeopencv2;E:opencvbuildincludeopencv;E:opencvbuildin

24、clude;在库目录中添加E:opencvbuildx86vcl0lib;以及在链接器输入附加依赖项中添加需要的lib库。如图2.1和图2.2迸程:IH朝圈Q:不适用4J$,as用gc性常规用户宏vo+目录C/C+4SiSH清单工R可时文件日灵引胃目录咗目条源日录届佟管埋器-Microsoft.9S(ExecutablePath)E:opencvbuildinclude$(Rfernc#Path)E:opencvbuildx36vcKS(SourcePath)S(ExdudPath)esess(o).31/QDebug|Win323Mkrosoft.Cpp.VZin32.useApplkati

25、onUnicodeSupportliCoreWindowsLibraries图21属性配置图(a)不适用附加依帔项忽JB所有猷认库忽!a待定!w认库块定立文件将怏垸潘加列程序M虫入曲翻立件秀制符是引用DLL程序钺接住讶2JRelease|Win32MicrosoftCpp.Win32.user制主页鲫S:性用户莢VC日录C/C*+入淸单文件图22属性配置图(b)2.3图像灰度化以及二值化在进行边缘检测之前一般是要将图像转为灰度化,再转为二值图的。2.3.1图像灰度化彩色图像可以分为好儿种颜色空间,例如:EGR空间图像、HSV颜色空间以及HLS颜色空间。而我们获得的图像则是属于BGR空间图像。在

26、本文中获得的图像,它的每个像素点的色彩由三原色组成,也就是红绿蓝三种颜色的分量共同决定。单个分量相当于一个灰度图像,组合在一起则是彩色图像。因为每种颜色分量均可取0255内的任意一值,如此图像颜色便可以有2553种的颜色变化。以彩色图而言,当RGB三个分量相等的时候显示灰色,从这里也可以看出灰度图图像比较简单。但是有一点值得我们注意,那就是虽然灰度图像比较简单,但是并不影响到整幅图的特征显示和图像的整体感。同一幅图灰度图描述的内容与彩色图所描述是一致的。对RGB图像进行灰度化,其实就是对为将点图像的RGB三个分量利用加权的方法平均得到最终的灰度值。OpenCV库进行灰度转换所釆用的灰度权值方法

27、Gray=0.072169B+0.715160G+0.212671R将彩色图像进行灰度转化,在图像处理之前要确认图像是否为单通道图,如果不是则要进行灰度转化:if(image,channelsO?=l)cv:cvtColor(imagejmage,CV_BGR2GRAY);第一个参数image表示输入图像,第二个参数image表示输出图像,第三个参数CV_BGR2GRAY表示由BGR转为RGAY(灰度图像)。2.3.2图像二值化图像二值化就是只有黑白两种颜色的图像,将灰度图像上的像素点的灰度值设置为0或者是1,从而只用黑白两种颜色使图像呈现出来,突出图像的轮廓。一般來说,0代表的是背景,1则是

28、表示图像里的物体。二值图可以将图像轮廓表现出來,突出特征。所以灰度图像进行二值化之后看起來比较简单,也有利于对图像进行下一步操作。在OpenCV中直接对图像进行二值化的函数cvTliresholdOo函数代码:voidcvThreshold(constCvArr*src,CvAit*dst,doublethreshold,doublemaxvalue,inttliiesholdtype);函数说明:src表示的是单通道灰度图输入图像;dst表示二值化后的图像;threshold表示阈值;maxvalue表示最大值;thresholdtype表示运算方法。2.4图像边缘检测2.4.1图像边缘检测

29、的原理边缘检测对工件检测很重要,是图像处理步骤之一,边缘检测技术就是它的边缘轮廓给描绘出来。在一幅图像之中,不同的像素点的像素是不相同的,总会存在着一些亮度变化得比较大的点,图像的边缘是很多像素的集合,这些边缘的相邻像素会存在很大的变化,表现为跃迁,边缘检测就是将这些变化很大的点标记下來从而达到边缘检测和轮廓提取的目的。边缘检测的作用就在于能在一定程度上减小数据计算量,并且还能将数字图像的重要结构表现出來。图像边缘检测一般來说是通过领域内的像素灰度值求一阶导数、二阶导数或者是寻找他的梯度来实现。关于图像中的灰度值的判断,可以直接通过边缘检测的算子计算而得,也就是通过算子计算对应图像的差分。其实

30、边缘检测本质就是对图像求导(梯度运算)找到突变部分,然后设个值,把低于该值的点颜色设为0就可以。目前,己经有了很多对边缘检测的算法例如Laplace算子、sobel算子、Caimy算子和RObers梯度法等等。2.4.2图像边缘检测算子的选择sobel算子Sobel算子一般用于处理3X3领域的图像。Sobel算子的计算方法是先后在x轴和y轴方向上对领域灰度求差分,然后取两个差分的平均值或者是取其中的最大值。求差分有以下公式:S(C)=max|(NO+NlX2+N2)(N4+N5X2+N6)|,|(N0+N7X2+N6)-(N2+N3X2+N4)|或者是|(NO+N1X2+N2)(N4+N5X2

31、+N6)|+|(N0+N7X2+N6)(N2+N3X2+N4)|/2,Sobel算子的模板如下所示桂林电子科技大学毕业设计(论文)报告用纸第S页共27页1210001-21X轴方向的算子1210001-2y轴方向的算子caimy算子Canny边缘检测算子是一种基于梯度计算的边缘检测算法。用于边缘检测的3条准则,第一条是要拥有好的检测效果,第二条是检测出的轮廓边缘要准确,第三条是相应的速度要快。这一边缘检测算法的原理和操作步骤如下:通过高斯滤波进行平滑处理,达到降低噪声影响的目的;利用sobel算子求出横向和纵向的梯度;1运用一对卷积阵列(分别作用于x和y方向):-10+r-1-2-1Gx=-2

32、0+2Gx=000-10+L+1+2+1.II使用下列公式计算梯度幅值和方向:G=+G?e=argctaii(乎)将梯度方向划分方向,可以分为5个部分(0,22.5)与(157.5,180)区间为水平方向,(22.5,67.5)为45度方向,(67.5,112.5)为横线方向,(112.5,157.5)位135度方向。对图像的每个像素进行检查,如果相邻的两个像素变化的不是最大的,那么这一像素就不是边缘,反之则是。设定阈值,确定哪些是边缘。本文采用Caimy边缘检测算子对圆形工件图像进行边缘检测。Candy函数的Candy算法代码cvCaimy(img,edges,lowthreshold,li

33、iglitliieshold,3);img表示单通道8位灰度图像的输入图像。Edges表示输出的边缘图,需要和源图片有一样的尺寸和类型。lowtliieshold表示第一个滞后性阈值。liiglithreshold表示第二个滞后性阈值。第五个参数,int类型的aperhireSize,表示应用Sobel算子的孔径大小,其有默认值3。Canny边缘检测的轮廓图如图2.3桂林电子科技大学毕业设计(论文)报告用纸第 页共27页2.5本章小结本章详细的讲述了本课题中利用vsiualstudio2010对圆形零件的图像进行预处理的过程,并介绍了图像进行灰度化和二值化方法。然后介绍了边缘检测的sobel算

34、子的原理,再阐述了caimy边缘检测的原理,并最终选择Caimy边缘检测算子作为本课题的边缘检测算子。本章所做的工作都是对圆形工件图像的预处理过程,为下一张的圆形检测做准备。3圆形工件检测当对图像进行预处理之后,需要对去寻找特定的图像的特征,也就是本文的最终目标,寻找圆。Hough变换所采用的是将图像的灰度信息映射到另一个参数空间的一种方法,从而达到检测图像轮廓的目的。通过在参数空间中进行判断,寻找工件的特征轮廓。3.1Hougli变换原理Hougli变换是可以在图像中寻找某种特征的图形的一种方法,是图像处理中的一种对图形特征进行提取的技术,它可以说是一种投票算法,当在累加器中符合特征的值足够

35、大时,那么这些符合的点的集合就是霍夫变换的结果。Hough变换最开始的应用范围比较小,主要是应用在检测直线和曲线方面,当时的并没有推广和拓展到圆这一领域。后來霍夫变换在被不断完善后可以应用于任意一种特征的检测。霍夫变换的实质是将一个坐标空间内的解析方程映射到另一个参数空间之中,并在参数空间上统计峰值的大小,当超过某一值时,则确定在原空间之中存在某一特征。Hougli变换就是通过判断这些峰值从而辨别图像的全局特征,之后再将需要寻找的圆的信息的边缘像素连接起來,将边缘平滑的显示出來的一种方法。以直线为例,它的参数方程为R=xcos&+ysin&,每存在一个(0,R)代表一条过点(x,y)的直线,通

36、过一个定点的所有直线是一条正弦曲线,图3.1所示的是三个定点对应的曲线,交点为(九RJ,交点有越多的正弦曲线通过,表明xy坐标系里的直线上有越多的点,可以设定一个阈值k,超过k则表明(乞,心)是原图像上的一条直线。Hough圆变换的概念与直线的相近,圆的解析方程是:(%-cx)2+(y-cy)2=/?2,由圆的解析方程可以看出,方程中含有3个未知变量,它们分别是、C),和R,其中(以、Cy)表示的是圆心,R表示的是圆的半径。将C(Cx,Cy,R)组成一个新的函数,它们在一个新的参数空间里,一般将图像的坐标原点一设在图像的左上角。当上述三个参数以、Cy和R都得到确定值之后,圆的位置和半径就确定了

37、。Hough变换可以分为传统hougli变换,标准hougli变换和2-lhougli变换,其中传统hougli变换映射到一个三维的空间之中,这就意味着会占用大量的内存从而使执行效率变低,速度变慢。在这里我们可以利用2-lh0Ugll变换(霍夫梯度法)來解决这一问题。其中霍夫梯度法的原理是这样的。(1)首先对图像用Caimy边缘检测进行边缘检测。(2)其次,对边缘图像中的每一个非零像素点,利用Sobel()函数计算该点在x方向和y方向的导数,从而得到梯度。(3)利用过上述得到的梯度,由斜率对应的直线相交的点累加值越大,那么这个点是圆心的概率越大。(4)同时,标记边缘图像中每一个非0像素的位置。

38、(5)然后对二维累加器中这些点按累加值排序,大于设定阈值的就是圆心。(6)接下来对每一个中心,考虑所有的非0像素。(7)这些像素按照其与圆心的距离排序。将阈值最大半径和最小半径中的值留下,将数量最多的且同值得半径留下,该半径对应的圆心就是要找的圆。HougliCircles的函数讲解voidHougliCircles(IiiputAnayimage,OutputAiraycircles,intmethod,doubledp,doublemiiiDist,doubleparaml=100,doubleparam2=100,intmiiiRadius=0,intmaxRadius=0)第一个值表示

39、输入8位单通道的灰度图像。第二个值表示使用调用HoughCircles函数后得到circles的输出参数,这些参数包括了3个元素的浮点矢量(x,y,radius)o第三个值method表示在opencv中只有它可以使用所以默认为为CV_HOUGH_GRADIENT。第四个值表示double类型的dp,用來检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器。第五个值表示double类型的miiiDist,这指的是霍夫变换检测到的两个相邻圆的圆心的最小距离,也就是设定一个值,大于miiiDist的圆就认为两者是不同的一个圆。这个参数如果太小的话,系统可

40、能错误的将多个相邻的圆辨别一个重合的圆。反之,如果这个参数设置太大,原本相邻的圆有可能会少检测出来。第六个值表示double类型的paramlo它是第三个参数method设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法CV_HOUGH_GRADIENT,它表示传递给caimy边缘检测算子的高阈值,而低阈值为高阈值的一半。第七个值表示double类型的paramlo它是第三个参数method设置的检测方法的对应的参数。对之前选择的霍夫梯度法CV_HOUGH_GRADIENT,它表示在检测圆心阶段的删选不符合圆心的累加器阈值。它越小的话,就可以检测到更多根本不存在的圆,而它越大的话,能通过检

41、测的圆就更加接近完美的圆形了。第八个值miiiRadius,表示检测出的圆半径的最小值。第九个值maxRadius,表示检测出的圆半径的最大值。原始的hougli变换找圆,相当于是映射到一个三维空间中,当图像复杂时,则会使计算量很大,影响检测的效率。而且如果对查找圆的半径不加以控制,不仅使计算量大,而且结果的精确度也难以达标。HoughCircles不再是对参数空间画出一个完整的圆來进行投票,而只是计算轮廓点处的梯度向量,然后根据搜索的圆心在该梯度方向距离轮廓点距离R的两边各投一点,最后根据投票结果图确定圆心位置。在得到圆心的序列之后,需要判断所选圆心是否为同一圆心,设定阈值,小于阈值的两圆心

42、则判断为同一圆心。由圆心序列去确定圆周序列,计算圆周边界点与圆心的距离,大小在miiiRadius和maxRadius之间的点则保存下來。将剩余的半径排序并将相同半径的数量计算出来,当得到的数量值大于设定的阈值param2时,那么就可以认定这一值为这一圆心对应的半径。为了使两个重叠的圆都能被检测出來,对其进行改进。将找到的圆轮廓与圆轮廓比较,选择与原轮廓重叠度最大的圆作为寻找到的圆,到此也许会找到圆心重叠的圆,这时候要将相似的圆拟合为一个圆,也就是将在这些圆之中,重合或者相差不大的圆拟合为一个圆,其实也就是选择最符合的圆留下。从而得到最后的结果。主程序流程图如图3.2:桂林电子科技大学毕业设计

43、(论文)报告用纸第 页共27页图3.2主程序流程图3.2最小二乘法拟合圆最小二乘法的另一种称谓是最小平方法,它是一种数学优化技术。最小二乘法通过将平方和的误差变小和寻找到最为匹配的函数,利用最小二乘法拟合圆型曲线。其依据是在边缘检测时获得边缘轮廓点的坐标,这些点的坐标会存在误差,有些是对的,有些是有偏差的,由公式计算使其平方和最小。它的原理如下:圆方程可以写为(%-%c)2+(y-ye)?=R?,通常的最小二乘法拟合要求距离的平方和最小。也就是f=S(Xj一%c)2+(y(-yc)2一以尸,定义一个辅助函数g(x,y)=(%一%c)2+(y-yc)2一R?,所以有dfdfdf门=U,dxcdy

44、cOR通过对以上方程求解圆心(鬆,)和半径R,最后的结果就是要求的圆的参数。3.3图像金字塔在运行以上程序时,发现程序响应时间较长,在此选用图像金字塔的原理,将图像的响应时间缩短。当得到的图像比较大的时候,会提升计算量,使响应的时间增长。这种情况下,我们通常会选择将图像的尺寸缩小,将图像的尺寸缩小的方法有pyrDowi】()函数。也就是即图像金字塔相关的其中一个函数,对釆集到的图像进行向下釆样。通过将图像的偶数行和列删除,使图像的尺寸变为原来的四分之一,达到缩小图像尺寸的目的,图像金字塔将图像以多个分辨率级表示,这样可以使图像变得简单有效。图像金字塔,顾名思义就是指图像由小到大一层层排列,层级

45、越高,分辨率越低。这些金字塔上的图像都是由同一张图像向下采样得到的。层级越低分辨率越高。金字塔如图3.2所示图3.3金字塔图高斯金字塔的图像获取办法如下,对图像G_i进行高斯内核卷积将图像偶数行和列去除得到下一层的图像由上面的金字塔图可以看出下一层图像只有上一层的四分之一。通过对输入图像重复上述步骤就会得到上面的金字塔图。高斯金字塔向下取样有一些缺点,每一次釆样都会丢失图像部分信息。本课题中为了使图像能更好的显示,提高检测效率,缩短响应时间,对输入图像使用pyiDown()函数。程序代码如下:pyiDown(Image,testMat,Size(hnage.cols/2,Iinage.rows

46、/2);Image表示的是输入的图像,testMat表示输出图像,Size(hnage.cols/2,Iinage.rows/2)表示输出图像的大小。在未使用图像金字塔时总共响应时间为1.53s。使用之后的时间为0.75s。由此可以看到在图像预处理前加入图像金字塔可以缩短一半的时长。桂林电子科技大学毕业设计(论文)报告用纸第15页共27页3.4本章小结本章首先讲述了hougli变换检测圆的发展历史和原理,介绍最小二乘法拟合圆的原理,利用最小二乘法拟合圆,提升检测圆的精确度。从而达到检测圆的目的,测量出圆形工件的圆心和半径。并且还讲述了图像金字塔的原理,将图像缩小一半以便减小计算数据,提升检测效

47、率。桂林电子科技大学毕业设计(论文)报告用纸第 页共27页4实验和数据分析4.1系统标定基于机器视觉的圆形工件检测系统中,在检测后得到工件的尺寸后,必须要找到图像与实物之间的关系,简单的说就是一像素代表实物中多少毫米。本系统中得到的工件是以像素作为工作单位的,要想得到实物的尺寸需要找到这一关系。寻找这一关系的过程称为釆集系统标定。采集系统标定的步骤如下:以一个实际尺寸为m(单位是mm)的的物件为标准物件,通过系统检测后得到的图像中的尺寸为1】像素,那么他们的比值为m/n,也就是说一个像素代表m/ii毫米。那么就可以得到以下公式:检测的零件尺寸=零件图像的像素XnViio实际硬币尺寸直径为25m

48、m,那么半径为12.5mm,检测一标准圆的像素半径为41.7433,那么标定比值m/n等于0.2994。4.2实验结果为了验证本课题内容的可行性和可操作性,按上述内容进行仿真实验。首先,由于实验条件的限制,下列圆形工件检测的图像采用事先准备好的图像,而不经过USB摄像头采集图像的过程。准备的图像如图4.1所示:因为准备的是单色图片,所以并不用进行灰度转换。在得到输入图像之后对图像使用canny边缘检测算子进行边缘检测和利用改进的houglicircle函数对图像中的圆进行圆检测,canny边缘检测得到的轮廓结果图像如图4.2所示,得到的最终结果图像如图4.3所示,这些圆的圆心坐标和半径如表所图

49、41原图图42轮廓图图4.3结果图圆检测的圆心坐标和半径以及与实际结果的表格坐标X坐标y像素半径实际尺寸误差201.5140.540.577112.14870.3513405.567.542.643912.76750.2675406.543.540.577112.14780.3522333.5290.541.743312.50000302.5145.539.57911.85000.65301.547.541.599312.45480.0452401.5218.543.732113.09330.5933214.547.539.755511.30391.1961275.5214.541.74331

50、2.50000由以上结果可以看出,所检测到的结果与实际的结果还是有一些出入,存在一定的误差,只有个别误差较大,其余的基本能满足检测允许的误差范围。基于机器视觉的圆形工件检测方面还存在着很多的问题,碍于本人专业知识有限,工件检测的最后结果的精度仍然有很大的进步空间,其实时性也需要改善。5总结与展望随着如今时代的进步,随着世界科学技术的发展以及世界国民经济的发展,机器视觉技术也在不断的发展。如今机器视觉技术也在不断地深入研究之中和在工业生产自动化的应用也得到了深入的发展。将机器视觉技术用于工业零件的检测也将是时代的潮流,基于机器视觉的圆形工件检测技术可以拓展到其他形状的零件之上,基于机器视觉的圆形

51、工件检测技术相比于传统的检测方式具有很多的优点,例如:非接触性,不用与检测的工件直接接触;相对于传统方式检测的结果更为的精确,精度也较高,效率也较高。如今这一项技术虽然能力很强,但是却依然还存在很多的困难,但是基于机器视觉的圆形工件检测技术的巨大发展潜力必然还会促使更多的技术人员和研究专家投入到这一方面研究的之中,将这一技术改进,应用到更多的方面。将检测得精度提升,将检测的效率提升。基于机器视觉的圆形工件检测技术这一系统主要由图像釆集系统,图像处理系统和特征检测系统三个部分组成。而本课题的重点在于基于机器视觉的圆形工件的检测,再由相机获得圆形工件的图像之后,利用计算机视觉技术对图像进行预处理如

52、:灰度转换、边缘检测。再通过hough变换检测出圆的特征。下面对本课题论文所做的主要工作进行概括总结。图像采集系统中,利用USB摄像头获取图像需要克服很多因素的影响,其一是光源,良好的光照不会再图像上产生阴影,这将直接影响到图像的质量和后期处理的结果以及最后检测的精度,所以在试验检测时,采用的是拍好的效果较好的图像。在对图像进行与处理时,使用Caimy边缘检测算子对工件图像进行边缘检测,实验的结果图像表明,使用Canny边缘检测算子能得到较为清晰和准确的零件轮廓,这也为下一步骤进行圆检测奠定基础。在进行图像圆检测时,为了加快检测速度,减小计算量,采用HougliCircles函数进行圆检测,并

53、对其进行改进,将找到的轮廓与原图的轮廓进行比较,重叠最大的就认为是要找的。并且在检测出的圆中也许有很多相似的重合的圆,将其拟合为一个圆。提高圆检测的精度和效率。并且在圆重叠时仍能检测出其形状。尽管本课题完成了对圆形工件检测的目标,但是碍于作者本人的专业知识有限,基于机器视觉的圆形工件检测还有很多的问题需要解决,而且,工件检测的精度仍然有提升的空间,还有就是图像获取的问题更应该要去解决。下面是本课题还存在的一些主要缺点:圆形零件在被采集图像的过程中,易受到很多因素的影响,首先是光照的影响,其次就是噪咅的干扰,这些都影响着图像形成的质量,如何获得良好的图像资源也是现在需要解决的问题。本文虽然改进了hough变换识别圆的方法,但是在检测时,还存在着较大的误差,另外,在重叠着的圆中,误差是较为明显的

温馨提示

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

评论

0/150

提交评论