基于机器视觉的圆形工件检测.docx

上传人:b****6 文档编号:8254367 上传时间:2023-01-30 格式:DOCX 页数:20 大小:724.60KB
下载 相关 举报
基于机器视觉的圆形工件检测.docx_第1页
第1页 / 共20页
基于机器视觉的圆形工件检测.docx_第2页
第2页 / 共20页
基于机器视觉的圆形工件检测.docx_第3页
第3页 / 共20页
基于机器视觉的圆形工件检测.docx_第4页
第4页 / 共20页
基于机器视觉的圆形工件检测.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于机器视觉的圆形工件检测.docx

《基于机器视觉的圆形工件检测.docx》由会员分享,可在线阅读,更多相关《基于机器视觉的圆形工件检测.docx(20页珍藏版)》请在冰豆网上搜索。

基于机器视觉的圆形工件检测.docx

基于机器视觉的圆形工件检测

摘要

机器视觉是人工智能的一个重要领域,是工业自动化的一部分。

机器视觉指的就是通过图像采集装置采集图像,再传到图像处理部分,对收集到的图像进行预处理,然后获得图像的特征信息,并对其结果进行判断检测,检查零件是否合格。

基于机器视觉检测技术相对于传统的工件检测具有很多的优点,如:

实时性、非接触性以及可以在恶劣的条件下完成工作,而且效率也比传统技术高,所以现如今机器人技术被广泛应用于现代工业中。

本文的工作内容是利用机器视觉的技术对圆形的工业零件进行检测,机器视觉技术被广泛应用于工业生产以及工业零件的检测中。

Opencv是一个图像处理算法库,全称是OpenSourceComputerVisionLibrary,opencv拥有强大的图像处理能力,本课题利用它完成图像处理并利用hough变换对获得的圆形工件检测圆形特征。

本课题使用的产品开发环境是vsiualstudio2010,并调用opencv计算机视觉开源库。

完成对圆形工件的圆形特征检测。

本课题详细的介绍了利用机器视觉进行圆形工件检测的原理,其中包括了图像预处理的方式和hough变换进行圆检测的原理。

并借助opencv库对圆形工件进行图像处理以及hough变换圆检测的内容。

并在理想情况下对系统标定,将得到的圆的参数转为实际尺寸,与标准零件的尺寸对比,从而得到两者之间的误差,从结果看出,测量的精度还在接受范围内,基本满足要求。

关键字:

机器视觉;图像处理;opencv;hough变换

 

Abstract

Machinevisionisanimportantfieldofartificialintelligence,anditisapartofindustrialautomation.Machinevisionisthroughimageacquisitiondevicecollectstheimage,andthenprocesstheimagethatthecollectedimagesbythroughimageacquisitiondevice. Thecharacteristicsoftheimagecanbedetectedbytheaboveoperation,andtheparameterscanbejudgedtobequalified.Thedetectiontechnologybasedonmachinevisioncomparedwithtraditionalpartdetectionhasmanyadvantages,suchas:

real-time,noncontactanditcanworkunderharshconditions,anditismoreefficientthantraditionaltechnologyandhigh,sorobottechnologyiswidelyusedinmodernindustry.Theworkofthispaperistousemachinevisiontechnologytodetectcircularindustrialparts,machinevisiontechnologyiswidelyusedinindustrialproductionandindustrialpartsinspection.

Opencvisanalgorithmlibraryforimageprocessing.OpencvfullnameisOpenSourceComputerVisionLibrary.Opencvhasastrongimageprocessingcapabilities,thistopicusesittocompletetheimageprocessingandtheuseofHoughtransformtoobtainthecircularfeatureofcircularworkpiecedetectionTheproductdevelopmentenvironmentisstudiovisual2010,andusetheopencvcomputervisionopensourcelibrarytofinishedcircularfeaturedetectionofcircularpart.

Thistopicwasdetailedintroduction theprincipleofcircularpartdetectionbasedonmachinevision .thatincludedimagepreprocessingmethodandHoughtransformcircledetectionprinciple.AndusedtheopencvlibraryforimageprocessingandHoughtransformcircledetection.Andintheidealcaseofsystemcalibration,willobtainthecircleparametersfortheactualsize,andstandardpartssizecomparison,thusobtainstheerrorbetweenthetwo,seenfromtheresults,theprecisionofmeasurementisstillcanbeaccepted,tomeetthebasicrequirements.

KeyWords:

Machinevision;imageprocessing;Opencv;houghtransform 

目录

摘要I

AbstractII

1绪论1

1.1机器视觉技术概况1

1.2工件检测国内外现状1

1.3基于机器视觉的工件检测的研究背景和意义2

1.4论文的章节安排3

2图像预处理4

2.1图像来源4

2.1.1数字图像4

2.1.2图像的获取与输出4

2.2图像处理开发平台5

2.2.1Opencv简介5

2.2.2Opencv的安装以及环境配置5

2.3图像灰度化以及二值化6

2.3.1图像灰度化6

2.3.2图像二值化6

2.4图像边缘检测7

2.4.1图像边缘检测的原理7

2.4.2图像边缘检测算子的选择7

2.5本章小结9

3圆形工件检测10

3.1Hough变换原理10

3.2最小二乘法拟合圆13

3.3图像金字塔14

3.4本章小结15

4实验和数据分析16

4.1系统标定16

4.2实验结果16

5总结与展望18

致谢20

参考文献21

附录错误!

未定义书签。

1绪论

1.1机器视觉技术概况

眼睛,是人类认识世界的窗口,大脑是人类解析世界的平台,视觉,是人们观察世界重要的方式。

人类使用摄像装置从周围的环境之中获取需要的图像信息并将之转到计算机,由计算机对图像信息进行解析,从而使人们快速获得信息,这也因此诞生了一门新的学科–机器视觉。

机器视觉技术是现如今工业发展很重要的一部分,它涉及人工智能、图像处理等多个领域。

人类的视觉可以认为是从观察到辨识的过程,它的目的可以看成是对周围场景观察本质并做出自己的描述规划。

机器视觉就是模拟人类的这一功能,通过对得到的物体图像进行一系列处理,发现并提取其中的有效信息,对其进行判断,分析以及处理。

机器视觉技术在工业应用方面的发展较为迅速,在这一领域的到了广泛的应用。

机器视觉系统的组成结构如图1.1所示

 

·

图1.1机器视觉系统结构图

1.2工件检测国内外现状

在1965年,由麻省理工的Roberts在他的著作之中阐述了依托计算机视觉理论为依据实现从拍摄物体的二维图像到物体三维形状信息的获取的可能性,也因此而开辟了以解析物体三维形状信息为目标的机器视觉理论与研究。

在之后的几十年之中,不断有研究者提出新的方案,将机器视觉技术的理论不断完善,使之应用的范围愈来愈广泛。

呈现百家争鸣的态势。

国外机器视觉的技术比较成熟,有着较多的人才,也拥有较多的技术专利和自主知识产权机器视觉也被广泛应用于图像处理和工厂的自动化中,在工厂自动化中多用于零件的检测。

在国内,机器视觉的发展起步较晚,但是因为中国的制造业近些年的快速发展,对于自动化检测的需求也越来越高,将机器视觉技术发展起来并应用到工业发展之中,是时代的要求,一些是我们用人眼来做的重复性检测都可以尝试利用机器视觉来检测。

但是,现如今中国的自主知识产权的产品并不多,绝大多数的产品还需要从国外引进。

目前机器视觉的发展方向主要是在电子技术和工业自动化检测这两个领域,而且如今工业进展迅速,国内外的相同行业之间的交流在不断地深入,而且随着如今生产的零件日趋小型化,工作的环境日趋复杂化,每一个行业对工业自动化有着越来越大的需求。

尤其是工业检测方面,随着如今机器视觉技术的不断发展,它的用途也越来与广泛,被用在了瓶体瓶盖检测,零件尺寸检测以及印刷品等方面。

还有就是例如螺母,圆柱,硬币等等,这些都具有圆形特征的机械工件,圆形零件在很多区域都有很多的应用,有一些需要精确的测量圆形零件的尺寸,以确保零件后期使用的可靠性,而且这些测量工作一般都是重复性的,如果人工进行一是速度慢;二是需要接触零件,不方便。

所以将机器视觉利用到工业检测之中是很有必要的。

1.3基于机器视觉的工件检测的研究背景和意义

近些年来,工业技术快速发展,我国如今俨然成为了一个制造业大国,在沿海等发达地区有很多的工厂的工作是生产产品零部件,这不可避免的要对零件进行测量,对这些零件的测量主要是通过游标卡尺,千分尺和尺子等精密的测量仪器,但是利用这些传统的仪器进行测量的时候,有可能收到环境,测量力度,视觉距离等因素的影响,而且效率也比较慢,不能适应生产节奏日益加快的当下。

在这种需求之下也促使很多的学者和科研人员在这一方面的研究,也提出了很多的基于机器视觉的圆形零件检测的技术方法,他们都力求能获得最快,最精确,最优秀的方法,将之应用于工业生产检测之中。

也正因为机器视觉技术和图像处理技术在这些年的不断发展提升,基于机器视觉的零件检测技术在工业领域应用的愈来愈广泛,应用的技术也越来与成熟,生产效率也因而得到提升,工件检测技术是利用图像处理的相关技术包含了人工智能、图像处理等技术。

基于机器视觉的工件检测技术与传统检测技术最大的优点就在于与被测物没有接触,不与被测物发生接触则不会对工件有任何影响,在一些人不能工作的地方,基于机器视觉的工件检测技术将发挥很多的用处,而且这一技术检测的结果相比于传统技术而言精度也较高,效率也较高。

目前,在工业领域方面有已经开始将这一技术用于产品部件的测量,用来检测产品是否合格,也可以用来检测使用中的产品的磨损度,是否变形等,而且现如今这一领域并没有真正的发展起来,还有很大的发展前景。

但是就目前的技术而言,在检测零件时,获取一个清晰的图像没有问题,但是在工业生产过程中的噪音却会对图像上零件的边缘产生比较大的噪声,也就是“火山口”。

因此会对零件的特征提取带来很大的麻烦,这会影响检测的精度,这也是基于机器视觉的工件检测技术为什么没有大范围在工业生产领域中大范围的推广的原因之一。

而且,如今圆形零件的特征提取的方法并不固定,一种方法中的程序并不适用于所有的零件。

但是机器视觉系统是很智能的以及有很强的适应能力,可以因需要改变程序。

基于以上的背景因素,在基于机器视觉的工件检测方面进行深入研究,并不仅仅是对于学术领域,在工业生产领域和机械制造业的自动化方面是很有必要的。

这一技术的成熟,可以加快工业自动化进程,也必将推动国民经济的迅速发展,这对我们国家乃至世界都是有着巨大作用的。

1.4论文的章节安排

针对以上的这种情形,本文阐述了一种实施圆形零件检测的方法。

本课题的目标是在获得圆形零件图像的情况下,通过计算机数字图像处理技术,利用hough变换原理检测出圆形,从而得出圆心以及半径。

并且以上在所获零件图像处于部分重叠状态时仍能得出结果。

本文在认真阅读和分析了机器视觉技术和与圆形检测技术的理论基础知识的基础上,以圆形工件为研究对象

本文一下各章的内容如下:

第一章:

绪论。

介绍了机器视觉的概况和阐述了工件测量的背景和研究意义,圆形工件检测的发展状况和章节的安排。

第二章:

圆形工件图像预处理,并阐述处理方法。

第三章:

圆形工件的检测,,阐明检测圆的方法。

第四章:

实验和数据分析。

第五章:

总结与展望。

总结本课题所做工作并分析遇到的问题,对所遇到的问题提出建议。

2图像预处理

图像预处理就是对图像进行简单处理,主要部分就是边缘检测,为下一步特征检测做准备。

2.1图像来源

2.1.1数字图像

我们所说的日常所说的图像可以理解为物体被绘制或者摄制保存的形象。

也可以说是视觉景物的某一种形式的表现形式和记录。

图像在计算机中是以数字的形式存储下来和工作的。

换一个说法就是数字图像就是用数字信号来表现的图像。

数字图像相当于一个由m×n的网格,当一幅图像里的每一个位置里都填充一定的颜色之后,就形成了我们日常所看到的完整的图像。

其中这些网格也可以称为图像的分辨率,网格越多,图像显示的就越逼真,显示的也清楚。

作为一个以数字形式进行存储和处理的图像,数字图像的优点之处在于,利用计算机进行特定的操作,就能够实现使图像进行各种需要的处理和加工,从而获得改变之后的图像。

2.1.2图像的获取与输出

图像的获取与输出方式有很多种形式,至今也依旧是人类研究的一个重要方向。

不同的图像的获取方式会使图像变现为不同的形式。

现如今获取图像的方式有很多种,在工业中检测常见的是利用图像传感器件配套使用,获得高精度的图像,另一种是直接使用USB数字摄像头作为采集设备采集图像。

就目前而言,如果配套的使用一套专用的工业测图像获取装置,其价格还是很惊人的。

所以可以采用USB数字摄像头作为图像采集装置,采集工业测量所需的图像。

另外,使用USB数字摄像头也已经可以基本满足测量精度的要求且可以直接与计算机直接进行通讯,直接将采集的工件图像传输到计算机之中。

在采集图像时还必须配备一个稳定的光源,光源是机器视觉系统之中不可或缺的一部分。

光源的作用有以下几点:

一是对目标工件进行照明,提高亮度,将图像尽量弄出好的效果;二是克服周围环境中的光照干扰,去除阴影部分,以提高图像的稳定性和保证后期处理的真实性。

照明是一个会直接影响到采集图像的质量和后期图像预处理的效果以及图像检测时能否获得精确地结果的关键因素。

光源的选择需要根据工件的特性以及现场的工作环境。

白炽灯、节能灯等等。

这些都是我们在生活中经常能够见到的,而且这些光源价格低廉,而且获取途径简单,但是不能提供稳定的光照。

还有一些也被经常使用的不可见光例如:

红外线、X射线等,虽然这些光源可以使测量的精度提升,但是获取途径复杂,产生的费用也比采用的可见光贵很多。

综上所述,图像采集系统的光源选择白炽灯,白炽灯已经可以基本满足。

通过光源和USB数字摄像头组成的图像采集装置将需要测量的圆形零件的图像采集到个人计算机之中,为图像处理做准备。

2.2图像处理开发平台

2.2.1Opencv简介

Opencv全称是OpenSourceComputerVisionLibrary,意思是开放的源代码计算机视觉库。

Opencv是一个开源的跨平台的计算机视觉库,它是inter公司为了减小程序开发人员的工作量而开发出来的。

可以在很多操作系统上使用,例如window等。

这个库里面包含了大量的C函数和C++类,而且可以与很多软件一起使用。

也正因为它实现了图像处理的简单化和在机器视觉方面有很多可以通用的算法,目前已经是一种较为流行的图像处理方式,在全世界范围内都有广泛的应用。

2.2.2Opencv的安装以及环境配置

本文中,通过vsiualstudio2010调用opencv中的库函数,调用之前必须对其进行配置。

第一步:

安装vsiualstudio2010和解压opencv和系统环境变量的配置。

第二步新建项目,打开属性管理器,右击Microsoft.Cpp.Win32.user->属性->VC++目录,在包含目录中添加E:

\opencv\build\include\opencv2;E:

\opencv\build

\include\opencv;E:

\opencv\build\include;在库目录中添加E:

\opencv\build\x86\vc10

\lib;以及在链接器->输入->附加依赖项中添加需要的lib库。

如图2.1和图2.2

图2.1属性配置图(a)

图2.2属性配置图(b)

2.3图像灰度化以及二值化

在进行边缘检测之前一般是要将图像转为灰度化,再转为二值图的。

2.3.1图像灰度化

彩色图像可以分为好几种颜色空间,例如:

BGR空间图像、HSV颜色空间以及HLS颜色空间。

而我们获得的图像则是属于BGR空间图像。

在本文中获得的图像,它的每个像素点的色彩由三原色组成,也就是红绿蓝三种颜色的分量共同决定。

单个分量相当于一个灰度图像,组合在一起则是彩色图像。

因为每种颜色分量均可取0~255内的任意一值,如此图像颜色便可以有255³种的颜色变化。

以彩色图而言,当RGB三个分量相等的时候显示灰色,从这里也可以看出灰度图图像比较简单。

但是有一点值得我们注意,那就是虽然灰度图像比较简单,但是并不影响到整幅图的特征显示和图像的整体感。

同一幅图灰度图描述的内容与彩色图所描述是一致的。

对RGB图像进行灰度化,其实就是对为将点图像的RGB三个分量利用加权的方法平均得到最终的灰度值。

OpenCV库进行灰度转换所采用的灰度权值方法Gray=0.072169B+0.715160G+0.212671R将彩色图像进行灰度转化,在图像处理之前要确认图像是否为单通道图,如果不是则要进行灰度转化:

if(image.channels()!

=1)

{

cv:

:

cvtColor(image,image,CV_BGR2GRAY);

}

第一个参数image表示输入图像,第二个参数image表示输出图像,第三个参数CV_BGR2GRAY表示由BGR转为RGAY(灰度图像)。

2.3.2图像二值化

图像二值化就是只有黑白两种颜色的图像,将灰度图像上的像素点的灰度值设置为0或者是1,从而只用黑白两种颜色使图像呈现出来,突出图像的轮廓。

一般来说,0代表的是背景,1则是表示图像里的物体。

二值图可以将图像轮廓表现出来,突出特征。

所以灰度图像进行二值化之后看起来比较简单,也有利于对图像进行下一步操作。

在OpenCV中直接对图像进行二值化的函数——cvThreshold()。

函数代码:

voidcvThreshold(

constCvArr*src,

CvArr*dst,

doublethreshold,

doublemax_value,

intthreshold_type

);

函数说明:

src表示的是单通道灰度图输入图像;

dst表示二值化后的图像;

threshold表示阈值;

max_value表示最大值;

threshold_type表示运算方法。

2.4图像边缘检测

2.4.1图像边缘检测的原理

边缘检测对工件检测很重要,是图像处理步骤之一,边缘检测技术就是它的边缘轮廓给描绘出来。

在一幅图像之中,不同的像素点的像素是不相同的,总会存在着一些亮度变化得比较大的点,图像的边缘是很多像素的集合,这些边缘的相邻像素会存在很大的变化,表现为跃迁,边缘检测就是将这些变化很大的点标记下来从而达到边缘检测和轮廓提取的目的。

边缘检测的作用就在于能在一定程度上减小数据计算量,并且还能将数字图像的重要结构表现出来。

图像边缘检测一般来说是通过领域内的像素灰度值求一阶导数、二阶导数或者是寻找他的梯度来实现。

关于图像中的灰度值的判断,可以直接通过边缘检测的算子计算而得,也就是通过算子计算对应图像的差分。

其实边缘检测本质就是对图像求导(梯度运算)找到突变部分,然后设个值,把低于该值的点颜色设为0就可以。

目前,已经有了很多对边缘检测的算法例如Laplace算子、sobel算子、Canny算子和RObers梯度法等等。

2.4.2图像边缘检测算子的选择

(1)sobel算子

Sobel算子一般用于处理3×3领域的图像。

Sobel算子的计算方法是先后在x轴和y轴方向上对领域灰度求差分,然后取两个差分的平均值或者是取其中的最大值。

求差分有以下公式:

S(C)=max{|(N0+N1×2+N2)-(N4+N5×2+N6)|,|(N0+N7×2+N6)-(N2+N3×2+N4)|}或者是[|(N0+N1×2+N2)-(N4+N5×2+N6)|+|(N0+N7×2+N6)-(N2+N3×2+N4)|]/2,

Sobel算子的模板如下所示

 

1

2

1

0

0

0

-1

-2

-1

1

2

1

0

0

0

-1

-2

-1

x轴方向的算子y轴方向的算子

(2)canny算子

Canny边缘检测算子是一种基于梯度计算的边缘检测算法。

用于边缘检测的3条准则,第一条是要拥有好的检测效果,第二条是检测出的轮廓边缘要准确,第三条是相应的速度要快。

这一边缘检测算法的原理和操作步骤如下:

1.通过高斯滤波进行平滑处理,达到降低噪声影响的目的;

2.利用sobel算子求出横向和纵向的梯度;

 Ⅰ.运用一对卷积阵列(分别作用于x和y方向):

 

Ⅱ.使用下列公式计算梯度幅值和方向:

3.将梯度方向划分方向,可以分为5个部分(0,22.5)与(157.5,180)区间为水平方向,(22.5,67.5)为45度方向,(67.5,112.5)为横线方向,(112.5,157.5)位135度方向。

4.对图像的每个像素进行检查,如果相邻的两个像素变化的不是最大的,那么这一像素就不是边缘,反之则是。

5.设定阈值,确定哪些是边缘。

本文采用Canny边缘检测算子对圆形工件图像进行边缘检测。

Candy函数的Candy算法代码

cvCanny(img,edges,low_threshold,high_threshold,3);

img表示单通道8位灰度图像的输入图像。

Edges表示输出的边缘图,需要和源图片有一样的尺寸和类型。

low_threshold表示第一个滞后性阈值。

high_threshold表示第二个滞后性阈值。

第五个参数,int类型的apertureSize,表示应用Sobel算子的孔径大小,其有默认值3。

Canny边缘检测的轮廓图如图2.3

图2.3轮廓图

2.5本章小结

本章详细的讲述了本课题中利用vsiualstudio2010对圆形零件的图像进行预处理的过程,并介绍了图像进行灰度化和二值化方法。

然后介绍了边缘检测的sobel算子的原理,再阐述了canny边缘检测的原理,并最终选择Canny边

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1