毕业设计(论文)-基于图像处理技术的玻璃裂纹检测系统软件设计.doc_第1页
毕业设计(论文)-基于图像处理技术的玻璃裂纹检测系统软件设计.doc_第2页
毕业设计(论文)-基于图像处理技术的玻璃裂纹检测系统软件设计.doc_第3页
毕业设计(论文)-基于图像处理技术的玻璃裂纹检测系统软件设计.doc_第4页
毕业设计(论文)-基于图像处理技术的玻璃裂纹检测系统软件设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

目录第1章 引言1第2章玻璃瓶裂缝检测系统软件总体设计12.1 玻璃瓶裂缝检测现状及分析12.2课题的提出22.3系统总体设计3第3章 图像处理算法分析33.1图像预处理33.1.1图像灰度化43.1.2图像增强53.1.3图像锐化93.2图像分割133.2.1统计最优阈值法143.2.2迭代阈值分割法153.3图像特征提取及识别153.3.1邻域与连通163.3.4区域描述173.4缺陷识别及定位18第4章系统总体软件设计184.1 Visual Basic简介184.2 玻璃瓶裂缝检测系统总体设计194.2.1 图像滤波设计204.2.2 图像锐化设计214.2.4 图像分割设计224.2.5 图像裂缝识别设计23第5章 总结与展望245.1 总结245.2 展望24第6章 谢辞25参考文献26基于图像处理技术的玻璃裂纹检测系统软件设计摘 要随着中国社会经济的迅速发展,对玻璃外观质量的要求越来越高,玻璃瓶裂纹检测是玻璃瓶质量检查的重要方面之一。传统的人工检测方法容易漏检、检测速度慢、检测时间长,效率不高,已经不能满足现在的要求,因此如何更加有效的检测出玻璃裂缝已成为一个很热门的话题。本课题基于VB的开发平台,利用图像处理的知识对玻璃瓶图像预处理、图像分割、图像特征提取和图像缺陷识别,进而完成对玻璃瓶裂缝的检测工作。本课题图像预处理分为图像滤波和图像锐化,其中图像平滑的方法为中值滤波法,图像锐化的方法为梯度锐化;图像分割所用方法为固定值法,迭代法和直方图;提取可疑裂缝的面积和周长,计算圆形度,以此判读是否为裂缝。关键字:玻璃裂缝,中值滤波法,迭代法Glass Crack Detecting System Software Design Based on Image processAbstractWith the rapid development of Chinas social economy, the glass appearance quality requirements more and more high, glass crack detection is one of the glass of the most important aspects of the quality inspection. Traditional manual testing method is easy to leak, slow speed of testing, testing time is long, the efficiency is not high, already cannot satisfy the requirement of now, so how to more effective to detect the glass cracks has become a very popular topic.This topic is based on VB development platform, using the knowledge of the image processing for glass bottle image preprocessing, image segmentation, image feature extraction and defect identification, and then completes the glass crack detection work. This topic image preprocessing image filtering and image sharpening, image smoothing method of median filtering method, and image sharpening method for gradient sharpening; Image segmentation method is used for the fixed value method, iterative method and histogram; Extract the suspected area and perimeter of crack and circular degree calculation, if this interpretation for cracks.Key words: glass crack, median filter, iterative approach 第1章 引言 随着中国社会经济的迅速发展,对玻璃外观质量的要求越来越高,玻璃瓶裂纹检测是玻璃瓶质量检查的重要方面之一。玻璃瓶生产过程中,流水线上的玻璃瓶经常会出现瓶口裂纹、瓶口炸口、瓶颈裂缝等缺陷。带有这些缺陷的玻璃瓶,一旦装入有气压的液体,非常容易爆炸发生危险。缺陷瓶流入市场,给企业形象造成损害,同时埋下了极大的安全隐患。 在生产企业中对于玻璃瓶的缺陷检测,国内玻璃生产的现状以及国际玻璃事业的发展趋势要求平板玻璃企业加快现代化步伐,坚持高技术起点,依靠技术进步,大力发展高水平的优质平板玻璃,提高在国际市场上的竞争能力。目前国内玻璃瓶生产厂家大多采用人工检测方法,容易受人眼分辨能力和易疲劳等主观因素的影响,无法保质保量地完成生产任务。国外大多采用机械装置与玻璃瓶直接接触的方式进行检测。利用计算机视觉的方法进行无接触的玻璃瓶裂纹检测具有造价低和灵活性高等优点,有着重要的研究价值。目前机器视觉与运动控制、网络通讯等信息技术的结合正在改变玻璃瓶自动化生产的面貌。而对玻璃瓶生产企业来说,意识到技术发展的趋势并首先付诸实施者无疑将走在竞争的前列,因此,低成本、高精度、高效益的基于机器视觉的玻璃瓶检测系统逐渐被玻璃瓶生产厂家所接受。目前国内玻璃行业都在设法提高产品质量,增强自身竞争力来面对市场的挑战。第2章玻璃瓶裂缝检测系统软件总体设计2.1 玻璃瓶裂缝检测现状及分析检测玻璃瓶裂缝通常采取三种方式:人工灯光检测,基于传感技术的检测,基于机器视觉的无接触检测。其中人工检测不仅增加人工成本和管理成本,同时由于人眼容易疲劳且具有不稳定性,无法保证检测的合格率,并且随着近几年生产流水线速度的提升,人眼在精度、速度上的限制,根本无法用人工来完成检测。基于传感技术的检测虽然在质量和速度上能满足生产的需要,但它存在检测设备的制造代价高,灵活性差等缺点。 九十年代以来,随着数字图像处理技术的成熟,计算机软硬件、光学器件的迅速发展,基于机器视觉的无接触检测代替另外两种检测方式成为发展的趋势。应用机器视觉的玻璃瓶检测系统能够大幅降低检测成本,提高产品质量,加快生产速度和效率。作为高精度、非接触的测量和检测方案,视觉系统涉及到光学和图像处理算法,而且生产线上对多工序进行同步连续检测时,必须使视觉系统具备分布式联网能力。美国NI公司研制的基于PC的视觉检测系统,将机器视觉、运动控制功能与LabView虚拟仪器软件相结合,取得了非常突出的成效。德国Siemens公司在1999年推出的智能化工业视觉系统SIMATIC VS710,提供了一体化的、分布式的高档图像处理方案。它将CCD、图像处理器、I/O 集成在一个小型机箱内,提供 PROFIBUS 的联网方式或集成的I/O 和RS232接口。通过Windows下的ProVision参数化软件进行组态。具有集成数字化照相机和快速图像处理器,标准连线接口,ProVision组态软件等优点。美国工业动力机械有限公司开发了采用摄像技术的全方位空瓶检测机。摄像技术空瓶检测机采用反射光学系统、高分辨率摄像技术和自动变焦技术,对各个检测项目进行精确的检测。对于直径为 mm 95 的瓶子,可检测的异物面积大于等于 3.53.5 2mm ,精确度为 98,检测mm 64 口径的空瓶时,检测速度可达700瓶/分钟。此外,德国的 MIHO 系统、HEUFT系统都是此类系统的典型代表。2.2课题的提出国外公司在九十年代初就开始研制计算机视觉在线检测设备,他们有着雄厚的经济实力和不断成熟的技术。目前已经有多家公司生产和出售该类产品,主要集中在美国和德国,以美国NI公司和德国 SIEMENS 公司为代表。虽然这些设备的价格昂贵,但依然很受国内玻璃生产厂家的欢迎。在国内,各行业的领先企业在解决了生产自动化的问题以后,已经开始将技术革新的目光转向视觉测量自动化方面。由于国内玻璃瓶的生产并没有执行一个统一标准,以至各厂家玻璃瓶瓶高、 瓶底以及瓶壁的厚度都有较大的差异, 使玻璃瓶检测系统的推广应用存在一定的阻力。 国内对于玻璃瓶的自动检测刚刚于近年开始起步,仅有少数几个厂家在进行玻璃制品在线检测设备的研制,但其产品体现的技术水平仅相当于国外九十年代的水平。现在仅有四通公司与广州大元公司利用日本的视觉系统建立了实验系统,另外湖南大学在此方面也取得了较大的成果。但总体来说,国内基于机器视觉的玻璃瓶检测系统的研究与应用还是比较落后的。因此,目前在国内研制具有自主知识产权的玻璃瓶检测系统具有重要的社会效益和经济效益。本课题是采用图像处理的知识,基于VB的开发平台,对玻璃瓶进行处理分析,判断是否有裂缝。2.3系统总体设计本文设计的玻璃瓶裂缝检测软件是基于VB的开发平台对玻璃瓶的图像进行图像预处理、图像分割和图像特征识别。系统总体结构如下图所示: 输入图像 图像预处理 图像分割 图像识别图2-1 系统总体设计框图 将采集到的图像输入到计算机中,对图像进行预处理,包括图像平滑、图像增强和图像锐化三个部分,其中图像平滑的方法为中值滤波,图像增强的方法为灰度拉伸法,图像锐化的方法为拉普拉斯算子法;将经过图像预处理的图像进行图像分割处理,将图像划分成几个或多个区域,这样更加有利于提取出有用的信息,最后利用模板匹配法对图像进行缺陷识别,来检测PCB光板图像是否有缺陷,如果有缺陷,将对缺陷进行定位,这在实际工程中有利于我们针对性地去改正错误,进行定位结束后,开始识别是哪一种缺陷,本文短路和断路的检测用到的知识为连通域数,毛刺和缺损用的是面积的改变,短路和断路会引起面积的改变,所以先检测短路和断路,后检测毛刺和缺损。当连通域数变多时,判为断路,当连通域数变少时,判为短路。当面积变大时,判为毛刺,当面积变小时,判为缺损。第3章 图像处理算法分析玻璃瓶裂缝检测的理论基础为图像处理,它是当今各个领域及生活中不可或缺的东西,所要处理的玻璃图像是即时地从生产线上获取的图像,以便可以及时地检测出玻璃瓶的缺陷,以免造成更大的损失。在这里图像处理可分为四个步骤:图像预处理、图像分割、图像特征提取和图像识别。首先将采集到的玻璃瓶图像,进行图像预处理,来提高图片质量,更好地进行下一处理,图像预处理主要为图像滤波和图像锐化,在这之前还需进行图像灰度化。进行图像平滑的目的是为了减少图像噪声。进行图像滤波的目的是提高图像的可读度。进行图像锐化的目的是使模糊的图像变得清晰;方便之后的图像分割,将进行过预处理的图片进行图像分割,进行图像分割的目的是把图像分成一些具有不同特征的有意义区域,分为前景和背景,以便进一步分析和说明,图像分割后得到几个或多个各具特性的区域,这些特性可以是像素的灰度、颜色、纹理等,我们提取其中感兴趣的即可。3.1图像预处理由于成像传感器噪声、相片颗粒噪声和图像传输过程中的通道传输误差等,会使图像出现一些随机的、离散的和孤立的像素点,也即图像噪声。图像噪声在视觉上通常与它们相邻的像素明显不同,表现形式为黑区域上的白点或白区域上的黑点,影响了图像的视觉效果和有关处理工作,因此需要对图像中的噪声进行消除1,2。玻璃瓶的图像如图3-1所示:图3-1 玻璃瓶图像为了便于以后的处理,必须对图像先进行图像预处理,消除噪声、改善图片质量等使图片失真的因素。图像预处理分为三个步骤:图像灰度化、图像滤波和图像锐化。3.1.1图像灰度化对RGB进行灰度化是图像处理的重要预处理之一,它可后续预处理的基础。颜色可分为黑白色和彩色。黑白色指颜色中不包含任何的色彩成分,仅由黑色和白色组成。在RGB颜色模型中,如果R=G=B,则颜色(R, G, B)表示一种黑白颜色;其中R=G=B的值叫做灰度值,所以黑白色又叫做灰度颜色。彩色和灰度之间可以互相转化,由彩色转化为灰度的过程叫做灰度化处理;由灰度化转为彩色的过程称为伪彩色处理。相应地,数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化。灰度化就是使彩色的R,G,B分量值相等的过程。由于R,G,B的取值范围是0 255,所以灰度的级别只有256级,即灰度图像仅能表现256种颜色(灰度)。灰度化的处理方法主要有如下3种:(1)最大值法:使R,G,B的值等于3值中最大的一个,即R=G=B=max(R,G,,B) (3-1)最大值法会形成亮度很高的灰度图像。(2)平均值法:使R,G,B的值求出平均值,即 R=G=B=(R+G+B)/3 (3-2)平均值法会形成比较柔和的灰度图像。(3)加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B的值加权平均,即R=G=B=(Wr + Wg + Wb)/3 (3-3)其中Wr,Wg,Wb分别为R,G,B的权值。Wr,Wg,Wb取不同的值,加权平均值法就形成不同的灰度图像。由于人眼对绿色的敏感度最高,红色次之,对蓝色最低,因此使WgWrWb将得到比较合理的灰度图像。实验和理论推导证明,但Wr = 0.30,Wg =0.59,Wb=0.11时,即当 R=G+B =0.30R + 0.59G + 0.11B (3-4)时,能得到最合理的灰度图像。本文利用第三种方法对图像处理,得到的灰度图像如图3-2所示: 图3-2 玻璃瓶图像的灰度图像3.1.2图像增强图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;二是为适应图像处理的要求,消除图像数字化时所混入的噪声。图像噪声来自于很多方面,有的来自于系统外部干扰,如电磁波或经电源串进入系统内部而引起的外部噪声,也有的来自于系统内部的干扰,如摄像机的热噪声,电器机械运动而产生的抖动噪声等内部噪声,减少噪声的方法可以在空间域或频率域处理。常用的滤波方法有均值滤波,中值滤波和低通滤波。 1.均值滤波均值滤波是一种空间域消除噪声的平滑方法,假设图像是由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是统计独立的。因此,可用邻域内各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。设有一幅NN的图像,若平滑图像为,则有 (3.5) 式中;为邻域内像素坐标的集合;表示集合内像素的总数。由此可见邻域平均法就是将当前像素邻域内各像素的灰度平均值作为其输出值得去噪方法。例如,对图像进行33的邻域平均法,对于像素,其邻域像素如下所示:图3-3 33邻域平均法示意图则有: (3.6)其作用相当于图像与下列模板卷积。 (3.7) 假设图像中的噪声是随机不相关的加性噪声,窗口内的各点噪声是独立分布的,经过上述平滑后,信号与噪声的方差比可望提高若干倍。可见这种算法虽然简单,但它的主要缺点是降低噪声的同时使图像产生模糊,特别是在边缘处和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。经均值滤波的图像如图3-4所示。2.中值滤波 中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。所谓“中值”是指将一个数据序列中的数据从大到小(或者相反)的顺序排列,如果这个序列的长度为奇数,则排在中间的那个数就是此序列的中值;如果这个序列的长度为偶数,可以定义中间两个的平均值为中值。因此,中值滤波最简单的方法就是用一个含有奇数点的条形或方形滑动窗口在被处理的图像上逐点滑动,将窗口正中那点的值用窗口内各点灰度值的中值代替。在一般情况下,可以这样定义一维中值滤波:设有一个一维序列,取窗口长度为(为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出个数,其中为窗口的中心位置,再将这个点按其数值大小排列,取其序号为中间的那个数作为滤波输出。用数学公式表示为: (3.8) . . 中值滤波首先是被应用于一维信号处理技术中,它的概念很容易推广到二维。一般情况下,二维中值滤波器比一维中值滤波器更能抑制噪声。二维中值滤波的窗口形状可以有很多种,如线状、方形、十字形、圆形、菱形等。. 图3-4 中值滤波的窗口形状不同形状的窗口产生不同的滤波效果,使用中必须根据图像的内容和不同的要求加以选择。从以往经验看,方形或圆形窗口适宜于外轮廓线较长的物体图像,而十字形窗口对有尖角状的图像效果好。3.低通滤波 低通滤波可用频域法和空域法处理,频域法时,一幅图片的边缘、细节、跳跃部分以及杂声都代表图像的高频分量,而大面积的背景区和缓慢变换部分则代表图像的低频分量,用频率低通滤波法除去其高频分量就能去掉噪声,使得图像平滑。低通滤波的工作原理可用式(式3-9)为(3.9) 式中,是含噪声图像的傅里叶变换;是平滑后图像的傅里叶变换;是低通滤波器的传递函数。利用使得的高频分量得到衰减,得到后再经过反变换就得到所希望的图像。下面给出频率域低通滤波算法的主要步骤:(1) 输入原图像,并进行傅里叶变换。(2) 得到图像频谱,并把频谱中心化。(3) 选择低通滤波函数对图像频谱进行清高频留低频处理。 (4)对图像进行傅里叶反变换,得到处理后的新图像并输出。在空域法中设低通滤波器的脉冲响应为,就可以用离散卷积形式的模板运算来进行噪声平滑运算,一般表示为(3.10) 典型的图像噪声消除低通滤波模板有其中,和增加了在模板中心像素或4邻域像素的重要性,可更好的近似具有高斯概率分布的的噪声特性。这些模板都是33的模板,在空间域中,低通滤波的模板的大小与图像平滑的效果密切相关,模板尺寸越大,平滑后的图像越模糊。而且,在空间域中,是通过使用带正系数的模板来实现低通滤波的。本文根据图像特点结合不同滤波法的优缺点,选用中值滤波法进行滤波,其滤波图3-5所示,明显可见图上的白色光点减少,可进行多次滤波,从而彻底消除白斑。 图3-5 玻璃瓶的中值滤波后图像3.1.3图像锐化图像锐化是一种突出和加强图像中景物的边缘和轮廓的技术。进行图像锐化的目的是使模糊图像变得清晰,图像模糊的实质上就是受到平均或积分运算,因此对其进行逆运算如微分运算、梯度运算,就可以使图像清晰。从频谱角度来分析,图像模糊的实质是其高频分量被衰减。因而可以用高频加重滤波来使图像清晰。但需要注意的是能够进行锐化处理的图像必须要求有较高的信噪比,否则,锐化后信噪比更低。所以一般是用滤除噪声的图像再进行锐化。下面介绍几种常见的微分算子。 1.梯度法 梯度的基本原理可以这样表示,假设是连续图像函数,其在点处的梯度是一个矢量,可以将其定义为:(3-11)且该梯度矢量在点处的梯度幅度和方向角(即梯度矢量幅角)分别为(3-12)(3-13) 在点处沿方向角的梯度方向上,具有最大变化速率,而且其值等于。梯度是一个矢量,但梯度幅度是一个正的标量。在下面用差分表示的梯度运算中,把梯度幅度简称为梯度。对于数字图像,用差分来近似代替导数,则在点处沿方向和方向的一阶差分可以表示为:(3-14)(3-15)(3-17) 另一种求解梯度的方法是交叉差分法,其数学表达式如下(3-18) 求解梯度的方法称为罗伯特梯度(Roberts Gradient),也成为罗伯特差分法。水平垂直差分法和罗伯特差分法可用下图来表示:.(a)水平垂直差分法(b)罗伯特差分法图3-6 不同差分法 两种梯度值都反映了图像中相邻像素灰度值的变换情况。在那些灰度值变化大的区域,其相邻像素的灰度值之差也大,因而其梯度值也大;那些灰度值变换较平缓的区域,其相邻像素的灰度值之差也小,因而其灰度值也小;那些灰度值相同的区域,其相邻像素的灰度值之差为零,因而其梯度也为零。所以经过梯度运算后,灰度剧烈变换的边缘就进一步凸显出来了。 2.拉普拉斯算子拉普拉斯算子是一种常用的边缘增强的算子,设为连续图像函数,其在点处的拉普拉斯算子是一个各向同性二阶微分算子,可定义为(3-19)对于数字图像,利用差分方程对和方向上的二阶偏导数进行近似(3-20) 3.canny算法坎尼(Canny)边缘检测是一种具有较好边缘检测性能的算子,利用高斯函数的一阶微分性质,把边缘检测问题转换为检测准则函数极大值的问题,能在噪声抑制和边缘检测之间取得较好的折衷。一般情况下,图像边缘检测必须两个条件:一是能有效地抑制噪声,具有较高的信噪比,信噪比越大,检测的边缘质量越高;二是必须尽量精确确定边缘的位置,要使检测出的边缘在真正的边界上。Canny边缘检测就是极小化由图像信噪比和边缘定位精度乘积组成的函数表达式,得到最优逼近算子。Canny算子是属于先平滑后求导数的方法。Canny算法的过程如下: (1)用高斯滤波器对图像进行滤波,去除图像中的噪声。 设高斯滤波器的响应函数为(3-21) 其中为高斯分布的均方差。则平滑后的图像为 (3-22) (2)用高斯算子的一阶差分对图像进行滤波,得到每个像素的位置梯度大小和方向。一阶差分卷积模板为(3-23) 其中,。 梯度方向值为(3-24) (3)对梯度幅值进行“非极大抑制”。 定义梯度的方向如图37(a)所示,共有水平、垂直、右45度斜线、左45度斜线共4个区,分别用1、2、3、4表示,属于4个不同的区域,如图3-7(b)所示。各个区用不同的邻近像素来进行比较,以决定局部最大值。如中心像素的灰度设为0,这个过程称为“非极大抑制”,其主要作用是准确定位并控制边界宽度为一个像素。 4 3 2 1 X 1 2 3 411342423(a)(b)图3-7 梯度方向分区表示 (4)用双阈值算法检测和连接边缘。 双阈值算法是对非极大值抑制图像采用两个阈值和,且,从而可以得到两个阈值边缘图像和。由于使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在中把边缘连接成轮廓,当到达轮廓的断点时,该算法就在的8邻域位置寻找可以连接到轮廓上的边缘,这样,算法不断地在中收集边缘,直到将连接起来为止。边缘连接过程如下:首先对图像进行扫描,当遇到一个非零灰度值的像素点时,跟踪以为开始点的轮廓线,直到该轮廓线的终点。其次,考察图像中与图像中点位置对应的点的8邻近区域,如果在点的8邻域区域有非零像素存在,则将其包含到图像中,作为点;从点开始,又对图像进行扫描,重复上述步骤,直到在图像和图像中都无法继续为止。最后,当完成对包含点的轮廓线连接之后,将这条轮廓线标记为已访问,回到第一步,寻找下一条轮廓线。重复上述两步,直到图像中找不到新轮廓线为止。Canny 算法包含许多可以调整的参数,它们将影响到算法的计算的时间与实效。如高斯滤波器的大小,第一步所用的平滑滤波器将会直接影响 Canny 算法的结果。较小的滤波器产生的模糊效果也较少,这样就可以检测较小、变化明显的细线。较大的滤波器产生的模糊效果也较多,将较大的一块图像区域涂成一个特定点的颜色值。这样带来的结果就是对于检测较大、平滑的边缘更加有用,例如彩虹的边缘。再有阈值的选择,使用两个阈值比使用一个阈值更加灵活,但是它还是有阈值存在的共性问题。设置的阈值过高,可能会漏掉重要信息;阈值过低,将会把枝节信息看得很重要。Canny 算法适用于不同的场合。它的参数允许根据不同实现的特定要求进行调整以识别不同的边缘特性。根据不同的算法,本文拟采用梯度法进行锐化,其锐化图像如图3-8所示:可见边界的轮廓更加清晰了。图3-8 玻璃瓶的锐化后图像3.2图像分割图像分割就是依据图像的灰度、颜色、纹理和边缘等特征,把图像分成各自满足某种相似性准则或具有某种同质特征的连通域的集合的过程。它是实现从低层次图像处理到较高层次图像分析、更高层次图像理解的关键步骤,具有十分重要的地位。对图像分割比较严格的定义可描述如下。设代表整个图像区域,对的分割可看作将分成若干个满足以下5个条件的非空子集(子区域)。1.分割成的所有子区域的并应能构成原来的区域,2.对于所有的和及,有。即分割成的各子区域互不重叠。3.对于;有。即分割得到的属于同一区域的像素应具有某些相同的特性。4.对于,有。即分割得到的属于不同区域的像素应具有不同的性质。5.对于;是连通的区域。即同一子区域内的像素应当是连通的。 我们知道图像分割的依据是根据各区域具有不同的特性,这些特性可以是灰度、颜色、纹理等。而灰度图像分割的依据是基于相邻像素灰度值的不连续性和相似性。就是说,子区域内部的像素一般具有灰度相似性,而区域之间的边界上一般具有灰度的不连续性。所以灰度图像的各种分割算法可以据此分为利用区域间灰度不连续的基本边界的算法和利用区域内灰度相似性的基于区域的算法。灰度图像分割是图像分割中研究的主要部分,其本质是按照图像中的不同区域的特性,将图像分划成不同区域,下面介绍几种图像分割方法。3.2.1统计最优阈值法统计最优阈值法是一种利用统计判决来确定阈值的方法,即使图像目标和背景被误分割最小的阈值。设有一幅混有加性高斯噪声的图像,含有目标和背景两个不同的区域,目标点出现的概率为,目标区域灰度值概率密度为,则背景点出现的概率为,背景区域灰度值概率密度为。所以这幅图像的灰度混合概率密度函数可以写成(3-25)如果根据灰度阈值对图像进行分割,将灰度值小于阈值的像点作为背景点,灰度值大于阈值的像点作为目标点,则有将目标点误判为背景点的概率为(3-26) 将背景点误判为目标点的概率为(3-27) 则总的误差概率为(3-28) (3-29)对求导并令结果为0,可得到 最优阈值选取方法可以如图3-16所示。图3-16 最优阈值选择法 对于高斯分布概率密度类型的图像,例如(3-30) , 其中和分别是目标和背景的平均灰度值,而和分别是目标和背景的均方差。把(式3-32)带入(式3-31)再取对数得到(3-31) 可以将(式2-33)简化成一个一元二次方程,其系数为(3-32) 这个一元二次方程一般情况下有两个解,如果两个区域方差相同,即整幅图像的噪声来自于一个信号源,则存在一个统计最优值,有如果目标和背景的先验概率相同,或者噪声方差为0,则最优阈值就是两个区域的平均灰度值得均值。3.2.2迭代阈值分割法迭代阈值分割法选取阈值的方法基本思路为:首先根据图像中物体的灰度值分布,选取一个近似的阈值作为初始阈值,一个比较好的办法就是将图像的灰度均值作为初始阈值;然后通过分割图像和修改阈值的迭代过程获得认可的最佳阈值。迭代阈值分割法的步骤如下: 1.选取一个初始阈值 ;2.利用阈值把给定图像分割成两组图像,即为和 ;3.计算和均值和; 4.选择新的阈值,且 5.重复步骤24,直至和的均值和不再变化为止。3.3图像特征提取及识别在经过了前面的图像平滑、图像增强、图像锐化和图像分割后,图像被分割成多个不同特征的部分,我们需要从中提取出我们需要的部分进行识别。为了让计算机有效地识别这些目标,必须对各区域、边界的属性和相互关系用更加简洁明确的数值和符号进行表示,这样在保留原图像或图像区域重要信息的同时,也减少了描述区域的数据量。从原始图像中产生的这些数值、符号或者是图形称为图像特征,它们反映出原图像的最重要的信息和主要特性。这些特征通常被称为描绘子,这些描绘子具有下面的特点: 1.唯一性:每个目标必须有唯一的表示,否则会无法区分开来。 2.几何变换不变性:描述应该具有平移、旋转、尺度等几何变换不变性。 3.抽象性:从边界中提取的和从分割区域提取的反映目标的本质特征,不容易因噪声等原因而发生变化。 4.完整性:描述是明确的,没有歧义的。 5.敏感性:描述结果应该具有和相似目标加以区别的能力。下面就来介绍几种描述图像特征的描绘子。3.3.1邻域与连通我们要对图像分割后的玻璃瓶图像进行图像特征提取,为了更好的提取我们需要的信息,我们需要对图像的邻域连通区域进行标记,邻域和连通是像素之间的基本关系,邻域有两种4邻域和8邻域。若2个像点是4邻接的,就称它们为4连通,若2个像点是8邻接的,就称它们为8连通。1. 4邻域和4相邻 对于图像中的某个像素,其坐标为,则与之在水平方向(左和右)和垂直方向(上和下)相邻的4个像素点组成了像素的4邻域,表示为。而这4个像素点在位置上就与像素相邻。2. 8邻域和8相邻同理,要取周围的8个像素点作为相邻点,则这8个相邻点就构成了像素的8邻域,记作。像素的相邻仅仅说明了两个像素在位置上的关系,若再加上取值相似或相同,则称两个像素邻接。两个像素邻接需满足两个条件,一个是相邻,假设两个像素和,和位置上满足相邻,即4相邻:或者;8相邻:或者;第二个条件就是灰度值相近,称为灰度值相近准则。即:和,其中当两像素之间的关系是4邻接时,一定是8邻接,但反之不一定成立。两种邻接及其关系见下图,相似性准则为,可以看出其中和是4邻接也是8邻接,但和式8邻接但并非4邻接。3.3.2连通域标记分割后的图像包含多个区域,我们将统一区域内的像素集合给予同一个标记,这样不同的区域就有不同的标记,更加利于提取需要的信息。这种方法称为连通域标记,是二值图像中非常重要的处理技术。连通域标记有两种方法,第一种是扫描图像,检测每个像素点与其相邻的像素的连接性,对每一个当前像素被扫描的像素都需要检查与它相邻的所有像素,包括在它之前扫描到的若干个相邻像素的连通性,这种方法很稳定,但是这种方法循环次数很多,运行速度相当慢。因此一般都采用递归算法,这种算法是先找到一个像素,给它赋予一个值,再以一个特定的方向对这个像素周围的像素分别扫描(若是4邻域就是4个像素,若是8邻域就是8个像素),如果与第一个像素相同,则赋予它相同的标记号,否则绕过它,继续扫描。这种方法比扫描图像法运行速度快。下面以8邻域为例介绍一下连通域标记: 1.读入二值图像后,按从左到右,从上到下的顺序逐个像素扫描,直到检测到第一个对象像素(即像素值为1的点); 2.若检测到的第一个对象像素点的45o、90o、135o、180o方向上的4个点的像素值都不为物体,则标记为0,继续扫描;3.假设第一个检测到的对象像素点为,记为对象A,以下将以下列的顺序来进行扫描:右上点,正上点,左上点,左前点。如果右上点为物体,则将当前点标记和右上点相同的值,如果右上点不为物体,就接着判断正上点,如果右上点和正上点都不为物体,就继续检测左上点和左前点。3.3.4区域描述一般情况下,对一个区域进行描述有两种方法:区域面积描述和区域周长描述。 1.区域面积区域面积描述区域的大小特征,是区域的基本特性之一。区域面积定义为区域中像素的数目。对于区域R,区域面积用公式表示为(3-33)其中,等式右侧部分表示当像素在区域R中时,对其进行计数加1。本文中我们利用区域面积来检测PCB光板是否有缺损和毛刺的缺陷。2.区域周长 区域周长定义为该区域边界的长度。简单的计算方法是直接计算边界像素点的总数。但是一般常用的计算方法,会顾及图像离散化的影响,利用边界的方向链码来计算。即假设区域边界方向链码为,每个链码所表示的线段长度为,那么区域R的周长L为(3-34)3.4缺陷识别及定位根据裂纹图像的特征,即裂纹的形状一般都是细长状的,所以我们引用圆形度这个参数来判断裂纹的真实性。有一组形状特征被称为圆形度指标,因为它们在对圆形形状计算时取最小值。它们的幅度值反映了被测量边界的复杂程度。最常用的圆形度指标是: (3-35)也就是周长的平方与面积的比。这个特征对圆形形状取最小值1。越复杂的形状取值越大。圆形度指标C与边界复杂性概念有着粗略的联系。由于越是细长状的图像它的圆形度越大,所以数字图像处理技术在玻璃瓶裂纹检测系统中的研究和应用我们规定凡是圆形度在10到20之间的都可以判断为裂纹。第4章系统总体软件设计4.1 Visual Basic简介Visual Basic是Microsoft公司开发的Windows应用程序开发工具。它以BASIC语言为基础,具有图像用户界面(GUI)的开发和创建应用程序的功能,采用面向对象(OOP)的程序设计方法。它分为学习版、专业版和企业版,本课题使用的是VB6.0企业版。VB6.0企业版是Microsoft公司最新推出的跨世纪产品,适合于windows95/98和Windows NT平台。它简单易用,适用面广,无论是通信、数据库,还是多媒体以及普通的windows应用程序都可以用VB进行开发,而且方便快捷。Microsoft VB提供了开发Microsoft Windows应用程序的最迅速、最简捷的方法3。VB的打开界面如图4-1所示:图4-1 VB6.0打开界面图4-2 VB6.0新建工程界面4.2 玻璃瓶裂缝检测系统总体设计本文所设计的PCB光板缺陷检测系统,是对采集到的PCB图像进行图像预处理、图像分割、图像特征提取和图像缺陷识别及定位。系统总体设计流程图如下所示:读入图像 进行图像平滑 进行图像增强 进行图像锐化 进行图像分割图像裂缝识别Y 不是裂缝N是裂缝图4-3 玻璃瓶裂缝检测总体设计流程图由上图可以看出整个图像处理的过程,将玻璃瓶图像首先进行图像平滑处理(这里平滑处理的图片是灰度图),滤除多于的噪点,然后进行图像增强,改变对比度,经过前面的图像处理,图像的边缘会变模糊,对图像进行锐化,将图像的边缘变清晰,然后进行图像分割,提取出我们需要的信息,进行图像识别,检测玻璃是否有裂缝。 根据上述原理设计的玻璃裂缝识别系统的界面如下图所示:图4-4 玻璃瓶裂缝检测系统界面4.2.1 图像滤波设计图像在拍摄过程中,由于抖动或是相机自身的参数的影响,以致图片中有噪声,这时我们必须滤除这些噪声才能更好的进行后续工作。这里图像平滑的方法用的是中值滤波,图像平滑的流程图如下所示:读入灰度图像 X=0 Y=0读取一个3*3的矩阵放入(8)中 j=0 i=j+1 p(j)p(i) p(j)和p(i)交换Yi=8NN i=i+1 j=j+1j=4NYY=Y+1输出x,y的值p(4)YY=高度?NX=X+1YX=宽度?N结束Y 图4-5 图像平滑流程图 由上图可以清楚的知道,中值滤波的原理,它的原理是在一个33矩阵内,将这9个像素值进行排列,取中间那个值作为中心点的值来输出在图片上。4.2.2 图像锐化设计在经过了前面的图像处理后,图像的边缘信息容易丢失,为了保存边缘信息,要对图像进行锐化处理,将边缘信息变得清晰,尽量的保住边缘信息,这样后面才可以比较正确的提取到边缘信息,以致可以识别玻璃瓶的裂缝。这里锐化的方法为拉普拉斯算子法,图像锐化的流程图如下所示:读入图像增强后的图像X=1读入每个像素存入a(x,y)Y=1像素ng=abs(5a(x,y)-a(x+1,y)-a(x-1,y)-a(x,y+1)-a(x,y-1)Y=heightY=Y+1NX=X+1X=widthYN结束Y图4-6 图像锐化流程图 由上面的流程图可以看出,可以很好的体现出锐化的原理,锐化是边缘提取和原图像的叠加,从上面可以很好的体现这一点。锐化后的图像边缘信息变得清晰起来。 4.2.4 图像分割设计 本文拟采用三种不同的图像分割方法来进行处理,分别为固定值法,直方图法及迭代法,上文已对其进行了介绍,他们处理的结果如图4-6所示,则 (a)固定值法 (b)直方图法 (b)迭代法图4-6 玻璃瓶裂缝分割图4.2.5 图像裂缝识别设计 在得到图像的分割图后,根据上述方法,我们可以求得图像的周长、面积、圆形度,根据圆形度判断其是否为裂缝。本文设计程序的运图如下图所示:图4-7 玻璃瓶裂缝判别 由上图所示,该玻璃瓶的可疑裂缝的圆形度为15,所以判断其为裂缝。第5章 总结与展望5.1 总结玻璃瓶的裂缝检查是当今越来越关注的问题,带有这些缺陷的玻璃瓶,一旦装入有气压的液体,非常容易爆炸发生危险。缺陷瓶流入市场,给企业形象造成损害,同时埋下了极大的安全隐患。本课题利用图像处理的知识,基于VB的平台进行开发,最后生成一个.exe文件,可以检测出玻璃瓶上的裂缝。本课题所作的工作如下所示:1. 利用VB语言对图像进行预处理,包括灰度化,滤波,以及锐化2. 利用不同的分割方法处理图像,得到裂缝的二值图像3. 根据图像处理的方法求得可疑裂缝的周长及面积,进一步算出气圆形度,根据圆形度判断其是否为裂缝。 5.2 展望 随着科学技术的发展,玻璃瓶的安全越来越受到重视,对裂缝的检测也成为重点。因此在本课题的基础上可以这样进行改进,如下所示:1. 可以将裂缝进一步区分,判断其类别,以估计造成该裂缝的原因2. 本程序只是针对一个裂缝进行检测,实际可能存在多个裂缝,可用区域连通法分别进行识别。3. 根据实际应用,可进一步实现图像自动读取。 第6章 谢辞参考文献1李俊山,李旭辉等.数字图像处理M.清华大学出版社,20072朱秀昌,刘峰,胡栋等.数字图像处理与图像通信M.北京邮电大学出版社,20083龚沛曾,杨志强,陆慰民等.Visual Basic程序设计教程M.高等教育出版社,20024胡文娟,刘泉.基于机器视觉的PCB缺陷检测技术

温馨提示

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

评论

0/150

提交评论