毕业设计基于图像的工件外形缺陷检测技术研究_第1页
毕业设计基于图像的工件外形缺陷检测技术研究_第2页
毕业设计基于图像的工件外形缺陷检测技术研究_第3页
毕业设计基于图像的工件外形缺陷检测技术研究_第4页
毕业设计基于图像的工件外形缺陷检测技术研究_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着图像处理技术的发展,缺陷检测在现代工业连续、大批量自动化生产中起着重要的作用,它涉及各种各样的工件检查、测量和分类等应用,如检测工件的表面是否有划痕、印刷品形体是否有缺陷、IC字符是否完整、电路板焊点是否完善、饮料瓶盖的画面是否完整等。传统的抽样检查已无法保证人们对产品高质量的要求,基于机器视觉的在线高速检测为其提供了可能。本文首先介绍了缺陷检测技术的研究背景和发展历程,其次介绍了实现缺陷检测图像处理技术的算法,最后为了确定光盘表面划痕缺陷的存在,设计了一个基于数字图像处理的缺陷检测系统。首先采集图像,接着对采集所得的图像在Matlab仿真环境下进行灰度转换、去噪、增强和分割处理,最后在Matlab环境下计算处理后的缺陷图像的面积和周长,进而求得其圆形度来确定缺陷的存在,并通过圆形度的取值范围判定光盘的缺陷类型为划痕。关键词:机器视觉,缺陷检测,表面划痕,圆形度

ABSTRACTWiththedevelopmentofimageprocesstechnology,disfigurementtestisplayingamoreandmoreimportantroleinthecontinuousandlargebatchautomaticprodutionofmodemindustry.Itinvolvesallkindsofworkpiecetest,measure,classificationandanyotherapplicationsuchastestingwhethertherearenicksonthesurfaceofworkpiece,whethertherearedisfigurementonthepressworkphysique,whethertheICbyteisintegrited,whethertheweldingspotonthecircuitboardareperfect,whethertheimageoflidofabeveragebottleisintegreted,etc.Traditionalsampletestcan’tmeetpeople’srequirementtowardshighqualityofproducts,andonlinetellingtestbasedonmachinevisionmakesitpossible.Thetext,atthebeginning,introducesthestudybackgroundanddevelopingprocessofdisfigurementtesttechnology,thenintroducesthearithmeticsofimageprocesstechnologyoftesting,andfinallydesignsadisfigurementtestsystembasedondigitalimageprocesstechnologytoensuretheexistanceofnickdisfigurementonthesurfaceofCD.Thedesigncanbediscribedasfollows:firstly,collecttheimage;secondly,usetheimageingrayconvert,removingnoise,amplifyingandsplittingundertheMatlabsimulationenvironment,finally,computetheareaandcircumferenceoftheprocesseddisfiguredimage,soastogetthedegreeofcircularityoftheimagetoensuretheexistanceofdisfigurementandjudgewhetherthetypeofdisfigurementoftheCDisnickaccordingtherangedimensionofthedegreeofcircularity.KEYWORDS:machinevision,disfigurementtest,surfacenick,degreeofcircularityPAGEIIPAGEI目录第1章前言 11.1研究背景 11.2缺陷检测技术的研究现状 11.2.1缺陷检测技术的发展历程 11.2.2存在的问题 41.3缺陷检测的分类方法 51.4基于图像处理的缺陷检测技术的应用 61.5本文的内容与章节安排 6第2章缺陷检测的数字图像处理实现 72.1数字图像处理的概念 72.1.1数字图像 72.1.2数字图象处理的三个层次 82.2图像增强提取目标缺陷的研究 92.2.1图像平滑去除检测图像的噪声 102.2.2中值滤波降噪 112.2.3直方图均衡 112.3待检测图像的形态学处理 132.4图像的边缘提取 142.4.1边缘提取概述 142.4.2几种经典的边缘检测算子 142.5缺陷图像的特征提取与选择 162.5.1特征提取 162.5.2特征选取 17第3章基于Matlab的缺陷检测算法研究 183.1总流程图设计 183.2基于Matlab的工件图像预处理 193.2.1工件图像的Matlab读入与格式转换 193.2.2工件图像的去噪和增强处理 203.2.3工件裂纹的分割 213.3工件图像的特征提取与识别 223.3.1特征提取 223.3.2判断识别 243.4图像处理所用Matlab函数 25第4章实验结果对比与分析 304.1试验参数 304.1.1测试图像的输入 304.1.2程序参数的调整 314.2实验结果对比与分析 334.2.1光盘图像测试结果 334.2.2u盘图像测试结果 354.2.3手机壳图像测试结果 37结论与展望 39致谢 41参考文献 42附录1:英文原文 46附录2:中文译文 53北方民族大学学士学位论文基于图像的工件外形缺陷检测技术研究第55页第1章前言1.1研究背景产品加工和使用过程中,表面裂纹、划痕、气泡、污迹、凹坑、孔洞、毛刺等缺陷影响到产品的使用性能,完整性,甚至安全性。及时对产品表面缺陷精心检测具有重要意义。目前常用的检测方式包括人工检测、机械检测、射线检测以及机器视觉检测等。其中,人工检测效率低、质量差、工人劳动强度大,检测可靠性取决于许多主观因素;机械检测通常是接触式检测,检测过程中需对被测器件进行位置调整,因而效率较低;射线检测可以实现较高分辨率,但是结构复杂、造价高;将计算机的快速性、可靠性和结果的可重复性与数字图像处理技术相结合进行视觉检测,具有自动化、客观、非接触、高精度和快速等特点,可极大提高检测效率,具有广泛应用前景,目前在发达国家已得到广泛应用,但在国内的应用尚处于发展阶段。1.2缺陷检测技术的研究现状1.2.1缺陷检测技术的发展历程Ellis和Hili[1]在1982年便已提出将图像处理技术应用于检测冷轧钢条的表面缺陷,通过图像分割与边缘提取获得裂缝等表面缺陷。随后Suresh[2]等人将类似的方法应用到了热钢板的表面缺陷检测上,并设计了一整套实时自动化检测系统。对于金属表面,基于图像处理的缺陷检测技术很快就显示出了其优越性,并被不断应用到同领域的不同场合之中。Piironen等人[3]将其应用于检测铜合金板的表面缺陷,并在图像分割的基础上融入了数学形态学。Kang和Liu[4]继续在冷轧钢条方面进行更深入的研究,引入了前馈神经网络,使得提取出的缺陷更加清晰。Tang等[5]则从不同的角度切入该问题,以图像的纹理特征量作为判断是否存在缺陷的依据。潘洪平等[6]将数字图像处理技术应用到钢球表面的缺陷检测中,根据缺陷区域的几何特征和纹理特征,计算出了相关的特征量,定量地表征了缺陷的性质,并且以模式识别理论为基础设计了分类器,不仅能够区分出有无缺陷,而且能给出缺陷的种类。黎明等[7]在机械加工的零件表面上采用了基于图像处理的缺陷检测技术,设计了一种图像频域滤波器,不仅增强了缺陷的纹理图像,同时也削弱了背景纹理,抑制其对缺陷纹理检测的干扰,最后通过阂值分割实现了缺陷纹理与背景纹理的分离。数字图像处理技术也被应用于检测织物的表面缺陷。Meylani[8]等人利用自适应二维格形滤波器对采集到的织物图像进行缺陷提取,成功地分离出了织物图像中的缺陷部分。Kumar则在织物的缺陷检测方面做了多种尝试,分别将Gabor滤波器[9]及前馈神经网络[10]等不同方法融入到织物图像的缺陷检测中,均取得了良好的效果。Chiu等[11]则通过在傅立叶域中运用基于分数布朗运动模型的最大似然估计,成功地分离出了缺陷,并且该方法的效果不随图像的几何变化而变化。Rohrmus[12]针对织物图像设计了一种新的几何纹理特征量,该特征量对方向不敏感并且能自适应于不同纹理,以此作为判断依据,实验结果表明检测成功率很高。袁端磊和宋寅卯[13]在Gabor滤波器的基础上引入了小生境遗传算法,以此来寻求最优的Gabor滤波器参数和分割阂值。Liu和Qu[14]则把小波变换应用到织物图像的缺陷检测中,将小波分解后的子图作为经过训练的BP神经网络的输入,得到检测结果以及缺陷的种类。Bu等[15]将分形的思想引入了织物图像中,以多重分形特征中的几何维数作为图像的纹理特征量,并设计了一种基于支持向量数据描述的分类方法。瓷砖表面的缺陷也可以采用基于图像处理的技术进行检测。Boukouvalas等[16]针对不同种类的瓷砖表面缺陷,如污点、裂痕、颜色异常等,分别设计了不同的检测方法,最后作出综合判断。苏彩红等[17]在墙地砖图像的灰度共生矩阵和颜色统计特征的基础上构造了一个判断矢量,以此作为判断缺陷的依据。Elbehiery等[18]通过边缘提取与形态学操作,获得了较为清晰的瓷砖表面缺陷图像。vasilic和Hoeenski[19]设计了一种基于canny算子边缘提取及亚像素级角点定位的缺陷检测算法,能较好地检测裂缝、划痕和污点等缺陷。Hocenski等[20]随后又采用FPGA设计了一套专用于检测纯色瓷砖表面缺陷的嵌入式自动化检测系统,算法简单实用,是理论应用于实际的良好示范。Mansoory等[21]在检测瓷砖缺陷之前,先通过Radon变换进行角度修正,使任意角度摆放的瓷砖均被放正,再通过模糊C均值聚类对背景纹理进行削弱,然后提取基于灰度共生矩阵的纹理特征量,如对比度、相关度、能量、逆差矩和嫡等,作为神经网络的输入,最后输出判断结果,该方法对于工业相机噪点和光源影响均有很强的鲁棒性。除了作为表面缺陷检测的有力工具外,图像处理技术也被运用于检测一些内部或外形的缺陷。王宣银和梁冬泰[22]提出基于多元图像分析的包装罐内壁缺陷检测算法,在形态学的基础上进行区域提取获得内壁检测区域图像,通过图像融合构造了环形合格样本图像,以基于主成分分析(PCA)的多元图像处理方法对内壁进行缺陷检测,计算Q统计图像并以其作为缺陷特征的检测空间,最后利用阂值处理提取缺陷。何再兴等[23]以X射线照射轮毅铸件,采用基于缺陷特征与种子填充的算法对获得的图像进行缺陷检测,在轮毅缺陷目标的尺度特征基础上用纵横两个方向的“山峰”进行定位,得到缺陷目标区域,然后利用改进的种子填充算法完整清晰地将缺陷用二值图像表达出来。贺秋伟等[24]通过对采集到的微型齿轮图像进行阂值分割等图像处理步骤以获取齿轮样本,再结合支持向量机构造齿轮的缺陷识别模型,得到了很高的识别正确率。Mery和Medina[25]设计了一种基于自适应中值滤波的算法来检测玻璃瓶的瓶口与瓶颈部分,以无缺陷的图像为参照成功定位了缺陷部分。Lu等[26]以奇异值分解为基础,去除了液晶显示器(LCD)图像的常规纹理后,检测出了LCD上的针孔、擦伤、指印等缺陷。沈会良等[27]则采用基于图像配准的算法来解决该问题,通过快速傅里叶变换对待检测图像做大致的水平对准,而后进行控制点检测、筛选,利用仿射变换实现模板图像与待检测图像的精确配准,最后,根据模板图像中的显示区域统计信息,如灰度平均值和标准方差等,对待检测图像进行缺陷检测。统计信息,如灰度平均值和标准方差等,对待检测图像进行缺陷检测。左奇和史忠科[28]为了检测胶囊药板的完整性,首先以药板图像的水平和垂直投影为基础提取出每个胶囊的存在区域,再对其做局部二值化方法,之后设计了一种基于最小错误率的贝叶斯分类器来对胶囊分类,以判断药板是否缺损。Derganc等[29]则设计了一套用于检测药片药板完整性的实时自动化检测系统,以药片的颜色及形状为特征进行训练,作为是否存在异常的判断依据,能成功检测出药板中药片缺损、遗漏、误装等缺陷,并且该系统已实际投入使用,效果良好。除在上述工业领域的应用之外,基于图像处理的缺陷检测技术也被广泛应用于其他领域,如林业、农业等。Alapuranen和westrnanls[30]针对木材表面彩色图像设计了一种基于多层次向量连通分量的缺陷检测方法,最终通过k近邻分类器得到检测结果。苏畅等[31]通过小波变换对木材表面图像进行分解,通过抛弃含有干扰信息的高频细节子带以抑制木纹、杂质、毛刺等干扰信息,增强了缺陷部分图像,而后基于形态学提取出缺陷。李庆中和汪没懋华[32]提出了双金字塔数据形式的实数域分形盒维数的快速计算方法,以此方法从待识别水果图象的可疑缺陷区中提取出5个分形维数,作为描述该区域粗糙度以及纹理方向性的特征参数,最后用BP神经网络作为模式识别器,以达到区分水果表面缺陷区与梗萼凹陷区的目的。Aleixos等[33]设计了一套能对柑橘进行缺陷检测与颜色分类的自动化检测系统,内部的阂值分割和轮廓提取等算法均运行于DSP上,检测效果良好并且速度很快。郑华东等[34]为了检测大米裂纹,采用了基于行灰度均值变化的检测算法,成功提取出了裂纹,该算法可以判断米粒是否存在裂纹以及裂纹的程度。朱伟华和曹其新[35]以HsL颜色模型为基础,提出了基于模糊颜色聚类的分割方法,用于检测以西红柿为例的水果表面缺陷,该方法用三角隶属度函数定义H、S、L模糊集,建立模糊颜色集,以模糊颜色的相似度判别两种颜色的相似性,从而分割出缺陷部分。综合目前国内外的相关成果来看,基于图像处理的缺陷检测技术已经得到了广泛的研究,与模式识别与机器学习等各学科联系越来越紧密,在不同领域都有一定程度的应用,相关理论也在不断地发展与成熟之中。1.2.2存在的问题基于图像处理的缺陷检测技术是以二维图像作为研究对象,对三维物体进行非接触性检测,物体形状、表面颜色与纹理、光源类型以及相机位置等环境因素的变化都会对采集到的图像产生影响,进而影响到检测结果。由于图像处理对环境条件的敏感度较高,在工业现场等实际场合中往往需要作出许多限制以确保获得优良的原始图像,这较大地影响了基于图像处理的缺陷检测技术在实际工程中的应用。当用不同的方法处理同一图像时,一般会产生不同的效果,往往各具优势,需要做出权衡。对不同的方法而言,其检测结果的精确程度和计算过程的复杂程度各不相同。一些方法虽能获得较满意的结果,但算法过于复杂,大量的运算严重降低了实时性。而另一些方法虽然速度较快,但检测成功率不高。因此,在满意的结果与快速的算法之间,需要寻找一平衡点,研究折衷的算法并将其应用于在线实时处理是目前该研究领域的一个主要内容。1.3缺陷检测的分类方法产品缺陷的检测方法可以分为三种:第一种是传统的人工检测方法,显然这种检测的精度都是比较低的,无法达到“零缺陷”的要求。第二种是采用机械仪器装置与产品接触性的检测方法,此类方法虽然能满足产品的检测需要,但存在检测设备的制造代价高、灵活性差、速度慢等缺点。第三种就是本论文用到的基于机器视觉的缺陷检测方法,即利用图像处理和分析来进行产品的缺陷检测。在早期,由于计算机处理速度比较慢,而图像处理往往涉及巨大的存储量和大量的运算,所以图像处理只能在大型计算机上运行,这限制了图像处理在工业缺陷检测中的应用。随着计算机软件、硬件的快速发展,对图像处理速度的提高以及相关理论的完善,这一方法更加变得确实可行了。此外,由于CCD的大幅降价,给基于机器视觉的缺陷监测系统广泛推广奠定了坚实基础,也使得在线产品由抽检变为全检成为可能。缺陷监测系统的核心是缺陷检测分类软件,它对摄像机捕捉到的材料表面图像进行分类整理,找到存在的缺陷,定位、识别和判断,进而进行分级分类。分类属于模式识别和机器学习的一个应用方面,分类有两种常见的方法:基于连接的方法和基于统计的方法。基于连接的分类方法主要是利用人工神经网络来模拟人脑神经网络,并期望其能像大脑一样地运作,像大脑一样地学习,从而产生智慧。这种方法可以实现信息的分布存取,运算的全局并行,并可在进行非线性处理的同时具有高容错性等特点,适用于学习一个复杂的非线性映射,但是其学习所形成的知识结构是难以理解的,系统本身也不具有良好的透明性。基于统计的方法本质上是一种非确定性的定量推理方法。定量是基于概率的,因此必然会造成小类别样本的忽视,但是由于它的全部知识都是通过大规模样本分析得到,可以取得很好的一致性和非常高的覆盖率,对样本处理提供了比较客观的数据依据和可靠的质量保证。常用的基于统计的方法有NaiveBayes、kNN、类中心向量、回归模型、支持向量机(SVM)、最大熵模型等。1.4基于图像处理的缺陷检测技术的应用基于图像处理的缺陷检测技术主要应用于工件表面的划痕、凹痕的检测,工件的弯曲变形等的检测,印刷品形体缺陷的检测、IC字符完整与否的检测、电路板焊点完善与否的检测、饮料瓶盖的画面是否完整等。此外,基于图像处理的缺陷检测技术也被广泛应用于其他领域,如林业、农业等。1.5本文的内容与章节安排本文以缺陷光盘、u盘、手机壳为研究对象,通过在Matlab环境下对源图像进行一系列处理,最终计算出缺陷存在部位的圆形度,判定缺陷的存在和识别缺陷的类型。对全文安排如下:第1章前言,主要讲述缺陷检测技术的研究背景、发展状况以及应用。第2章缺陷检测的数字图像处理实现,首先介绍数字图像处理技术,接着研究了实现缺陷检测图像处理技术的常用算法。第3章基于MATLAB的缺陷的检测,首先对光盘图像进行预处理,然后计算缺陷图像的周长和面积,进而计算其圆形度,确定缺陷的存在和缺陷类型。第4章对参数的调整和对不同图像进行相同处理的结果进行分析。最后,结论与展望。总结全文,概述本文的创新性工作,并且对未来的工作提出展望。第2章缺陷检测的数字图像处理实现本章首先介绍可用于缺陷检测的数字图象处理的基本知识和一些常用的算法,而后续章节所采用的缺陷检测图像处理算法,基本上都是以各种图像处理的基本算法组合为基础。2.1数字图像处理的概念数字计算机最擅长的莫过于处理各种数据,数字化后的图像可以看成是存储在计算机中的有序数据,当然可以通过计算机对数字图像进行处理。我们把利用计算机对图像进行去除噪声、增强、复原、分割、提取特征等的理论、方法和技术称为数字图像处理(DigitalImageProcessing)。一般地,图像处理是用计算机和实时软件实现的,因此也称之为计算机图像处理(ComputerImageProcessing)。在日常生活中,图像处理已经得到广泛应用。例如,电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等。在医学领域,很早以前就采用X射线透视、显微镜照片等来诊断疾病。现在,计算机图像处理已成为疾病诊断的重要手段,用一般摄影方法不能获取的身体内部的状况,也能由特殊的图像处理装置获取,最具有代表性的就是X射线CT(ComputedTomograph,计算机断层摄像)。2.1.1数字图像一幅图像可定义为一个二维函数f(x,y),当空间坐标x、y和幅值f为有限的离散数值时,称该图像为数字图像。简言之,就是以数字格式表示的图像。数字图像分为以下三种格式:1.黑白图像 图21黑白图像2.灰度图像灰度图像是指每个像素的信息由一个量化的灰度级来描述的图像,没有彩色信息。图22灰度图像3.彩色图像彩色图像是指每个像素的信息由RGB三原色构成的图像,其中RGB是由不同的灰度级来描述的。图23彩色图像2.1.2数字图象处理的三个层次运动检测、目标分类、人的跟踪属于视觉中的低级和中级处理部分(Low-levelandIntermediate-levelVision),而行为理解和描述则属于高级处理(High-levelVision)。运动检测、运动目标分类与跟踪是视觉监控中研究较多的三个问题,而行为理解与描述则是近年来被广泛关注的研究热点,它是指对目标的运动模式进行分析和识别,并用自然语言等加以描述。1.低级图像处理低级图像处理主要对图象进行各种加工以改善图象的视觉效果、或突出有用信息,并为自动识别打基础,或通过编码以减少对其所需存储空间、传输时间或传输带宽的要求。它的特点是是输入是图像,输出也是图像,即图象之间进行的变换。2.中级图像处理中级图像处理主要对图象中感兴趣的目标进行检测(或分割)和测量,以获得它们的客观信息从而建立对图象的描述。特点是输入是图象,输出是数据。3.高级图像处理高级图像处理是在中级图像处理的基础上,进一步研究图象中各目标的性质和它们之间相互的联系,并得出对图象内容含义的理解(对象识别)及对原来客观场景的解释(计算机视觉),从而指导和规划行动。特点是以客观世界为中心,借助知识、经验等来把握整个客观世界,而且输入是数据,输出是理解。2.2图像增强提取目标缺陷的研究图像在传送和转换(成像、扫描、传输及显示)过程中,由于噪声、衰减等原因,一般会造成不同程度的图像质量下降;另外,在摄像过程中,由于光学系统的失真、相机的相对运动、大气流动的影响等都会造成摄制图像模糊。因此,通过图像增强来改善图像质量显得十分重要。图像增强是对图像质量在一般意义上的改善。当无法知道图像退化有关的定量信息时,可以使用图像增强技术较为主观地改善图像的质量。所以,图像增强技术是用于改善图像质量所采取的一种方法。因为增强技术并非是针对某种退化所采取的方法,所以很难预测哪一种特定技术是最好的,只能通过试验和分析误差来选择一种合适的方法。有时可能需要彻底改变图像的视觉效果,以便突出重要特征的可观察性,使人或计算机更易观察或检测。在这种情况下,可以把增强理解为增强感兴趣特征的可检测性,而非改善视感质量。电视节目片头或片尾处的颜色、轮廓等的变换,其目的是得到一种特殊的艺术效果,增强动感和力度。在工业图像处理中,为了增强图像的可读性,突出感兴趣的目标区域,比如目标的轮廓,目标的缺陷等,通常采用图像的增强技术。这一小节中,我简要的介绍一些常用的可以用在缺陷检测的图像增强技术。图2-4图像增强效果图图像的增强技术通常有两类方法:空间域法和频率域法。空间域法主要是在空间域中对图像的各个像素灰度值直接进行运算处理。而频率域法就是在图像的某种变换域中(通常是频率域中)对图像的变换值进行某种运算处理,然后再变回空间域中。2.2.1图像平滑去除检测图像的噪声图像的大部分噪音,比如由敏感元件,量化器等引起的噪音,多半是随机性的,它们对某一像素的影响,都可以看成孤立的,因此与邻近各个点相比,该点的灰度值将显著的不同。基于此点,可以用邻域平均的方法来消除噪音。 公式(2.1)中,表示点的灰度值,为设定的一个阈值。以为中心我们取一个的窗口(N=3,5,7),窗口内像素组成的点集以A来表示,经图像平滑后,像素对应的输出为:(2.1) 邻域平均法的平均作用会引起图像的模糊现象,模糊的程度与邻域的半径成正比。如公式(2.2),为了减少这种模糊失真,有人提出了“超限邻域平均法”,即如果某个像素的灰度值大于其邻域像素的平均值,且达到了一定的水平,则判断该相素为噪音,用该点邻域像素的平均值代替该点的像素灰度值,公式如下:(2.2) 在实际应用中,根据实际情况,可以选择不同窗口大小和窗口形状,比如十字窗,圆形窗。由于窗口过大,会引起图像的模糊,所以一般常用的是3x3窗口,而且还可以根据不同的图像,对邻域像素取不同的权重,然后再进行平均。2.2.2中值滤波降噪从前面的介绍可以看出,邻域平均法可以抑制图像的噪音,但不可避免的引起了图像的边缘模糊。而中值滤波则在抑制图像噪音的同时,还较好的保存了图像边缘的轮廓信息。中值滤波的原理非常简单,用一个的窗口(N=3,5,7等)在图像上滑动,把窗口中像素的灰度值按升序(或)降序排列,取排列在正中间的灰度值作为窗口中心所在像素的灰度值。中值滤波是一种非线性滤波,它对消除脉冲噪音十分有用。同邻域平均法一样,也存在“超限中值滤波”,即如果某个像素的灰度值大于其邻域像素的中间值,且达到了一定的水平,则判断该像素为噪音,用该点邻域像素的中间值代替该点的像素灰度值。2.2.3直方图均衡数字图像的灰度直方图(ColorHistogram,CH)是灰度级的函数,它描述图像中对应于各个不同灰度级的像素数。其横坐标表示灰度级,纵坐标表示各个灰度级出现的频率(像素数)。1.灰度变换(1)为什么要灰度变换?由于图像的亮度范围不足或非线性会使图像的对比度不理想。采用图像灰度值变换方法,即改变图像像素的灰度值,以改变图像灰度的动态范围,增强图像的对比度。(2)灰度增强一般原理设原图像(像素灰度值)为,处理后图像(像素灰度值)为,则对比度增强可表示为:(2.3)其中,表示增强图像和原图像的灰度变换函数。(3)灰度变换分类灰度变换分为线性变换(正比或者反比)和非线性变换。非线性变换有对数的(对数和反对数),幂次的(n次幂和n次方根变换)。在检测产品存在缺陷时,其图像表现为缺陷处的灰度值与标准的图像在此处的灰度值有差异。将缺陷图像的灰度值同标准的灰度值进行比较,判断其差值(两幅图灰度值的相差程度)是否超出已预先设定的阈值标准范围,就能检测出待测产品缺陷是否存在。2.直方图的定义一副连续图像中具有的灰度级D的所有轮廓线包围的面积用阈值面积函数A(D)来表示。直方图可定义为:(2.4)即一副连续图像的直方图是其面积函数的导数的负值。如果将图像看成是一个二维的随机变量,则面积函数相当于其累计分布函数,而灰度直方图相当于其概率密度函数。对于离散函数,我们固定为1,则式(2.4)变为:。因此,对于数字图像,任意灰度级D的面积函数就是大于或等于灰度值D的像素的个数[36]。3.灰度直方图的性质(1)灰度直方图只能反映图像的灰度分布,而不能反映图像像素的位置,即丢失了像素的位置信息。(2)一幅图像对应唯一的灰度直方图,反之不成立,不同的图像可对应相同的直方图。(3)一幅图像分成多个区域,多个区域的直方图之和即为原图像的直方图。4.直方图的应用(1)作为图像数字化的参数直方图给出了一个简单可见的指示,用来判断一幅图像是否合理的利用了全部被允许的灰度级范围。一幅图像应该利用全部或几乎全部可能的灰度级,否则等于增加了量化间隔,丢失的信息将不能恢复。这个应用就是判断图像量化是否恰当。(2)图像分割阈值的选择依据原理:假设某图像的灰度直方图具有二峰性,则表明这个图像较亮的区域和较暗的区域可以较好地分离,取二峰间的谷点为阈值点,可以得到较好的二值处理的效果。2.3待检测图像的形态学处理数学形态学是分析几何形状和结构的数学方法[37],它是建立在集合代数的基础之上,用集合论方法定量描述几何结构的科学。它摒弃了传统的数值建模及分析的特点,从集合的角度来刻画和分析图像。1985年之后,它逐渐成为分析图像几何特征的工具。数学形态学由一组形态学运算算子组成。最基本的运算算子有膨胀,腐蚀,开运算,闭运算。使用这些算子对图像的结构和形状进行分析和处理,主要包括图像分割、特征提取、边缘检测、图像滤波、图像增强以及图像恢复等。由于形态学具有完备的数学基础,这使得形态学用于图像分析和处理、形态滤波器的分析和系统设计等具有了坚实的基础。近年来,形态学在图像处理方面的应用和研究得到了迅速发展。形态学的理论基础是集合论[38]。在图像处理中形态学的集合代表着黑白和灰度图像的形状。比如二值图像中所有黑色像素组成了该图像的完全描述。由于在本论文中用到膨胀,所以以下只介绍膨胀算子。膨胀是形态学运算中的最基本的运算子之一,它在图像处理中的主要作用是扩充物体边界点,连接两个距离很近的物体。集合A用集合B膨胀,记作,定义为;上式表明,用集合B膨胀集合A,即为当集合B的原点在集合A中移动时,集合B中元素所对应位移后的元素组成的集合。在图像处理中,集合A一般是待膨胀的图像,称集合B为结构元素。2.4图像的边缘提取2.4.1边缘提取概述边缘是图像最基本的特征。所谓边缘是指图像周围像素灰度有阶跃变化或屋顶状变化的像素的集合,它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。边缘具有方向和幅度两个特征,沿边缘走向,像素值变化比较平缓;垂直于边缘走向,像素值变化比较剧烈,可能呈现阶跃状,也可能呈现斜坡状。因此,边缘可以分为两种:一种为阶跃性边缘,它两边的像素灰度值有着明显的不同;另一种为屋顶状边缘,它位于灰度值从增加到减少的变化转折点。对于阶跃性边缘,二阶方向导数在边缘处呈零交叉;而对于屋顶状边缘,二阶方向导数在边缘处取极值。边缘检测技术是图像处理和计算机视觉等领域最基本的技术,如何快速、精确的提取图像边缘信息一直是国内外研究的热点,然而边缘检测又是图像处理中的一个难题。早期的边缘检测的经典算法包括边缘算子法、曲面拟合法、模板匹配法、门限化法等。近年来随着数学理论及人工智能的发展,又涌现出许多新的边缘检测方法,如小波变换和小波包的边缘检测法、基于数学形态学、模糊理论和神经网络的边缘检测法。2.4.2几种经典的边缘检测算子经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。常用的边缘检测方法有Roberts算子、Sobel算子、Prewitt算子、Kirsch算子、Laplacian算子、LOG算子、Canny算子等。1.基于一阶微分的边缘检测方法目前应用比较多的是基于微分的边缘提取算法,梯度算子是其中之一。不妨记为图像的梯度,包含灰度变化信息。记为的梯度,为边缘检测算子。为了简化计算,将定义为偏导数与的绝对值之和:。根据模板的大小以及权值的不同,人们提出了很多梯度算子。最简单的梯度算子是Roberts算子,它是一个2×2模板,利用局部差分检测比较陡峭的边缘,但对于噪声较敏感,经常出现孤立点。于是,人们又研究出了Prewitt算子和Sobel算子。这两种算子在求梯度之前,首先进行邻域平均或加权平均,然后进行微分,就抑制了噪声,但容易出现边缘模糊现象。随后出现的Kirsch算子用不等权的8个3×3循环平均梯度算子分别与图像进行卷积,取其中的最大值输出,它可以检测各个方向上的边缘,减少了由于平均而造成的细节丢失,但同时增加了计算量。2.基于二阶微分的边缘检测方法一阶微分组成的梯度是一种矢量,不但有大小还有方向,和标量比较,数据存储量比较大。Laplacian算子是对二维函数进行运算的二阶导数算子,与方向无关,对取向不敏感,因而计算量要小。根据边缘的特性,Laplacian算子可以作为边缘提取算子,但是它对噪声相当敏感,它相当于高通滤波,常会出现一些虚假边缘。因此,Marr提出首先对图像用Gauss函数进行平滑,然后利用Laplacian算子对平滑的图像求二阶导数后得到的零交叉点作为候选边缘,这就是LOG算子。LOG算子就是对图像进行滤波和微分的过程,是利用旋转对称的LOG模板与图像做卷积,确定滤波器输出的零交叉位置。3.Canny算子Canny算子是一个具有滤波、增强和检测的多阶段的优化算子。在进行处理前,Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声(即用高斯平滑滤波器与图像作卷积)。增强边缘是将邻域(或局部)强度值有显著变化的点突出来,一般通过计算梯度幅值来完成。Canny分割算法采用一阶偏导的有限差分来计算梯度的幅值和方向。对一个边缘来说,其一阶导数在边界处存在一个向上的阶跃,或者其二阶导数过零点。在处理过程中,Canny算法还将经过一个非极大值抑制的过程。最后Canny算法将采用两个阈值来连接边缘[39]。上述几种经典边缘提取算子共同的优点是计算简单、成熟、速度快,缺点是对噪声的干扰都比较敏感。但在经过一些改进之后,仍然有相当大的应用潜力。2.5缺陷图像的特征提取与选择为了达到缺陷图像的识别,特征提取与选择是必不可少的。2.5.1特征提取对于识别对象的某些特征加以数字化的过程就叫做特征提取,这无疑是模式识别中很重要的一环。往往考虑的分类问题都是在特征空间中进行的,总是将识别对象的某些特性无论是物理的或形态的都加以数字化,并根据一定的原则加以选择,从而形成特征空间的一个向量,并用来代表所考虑的识别对象,这样就可以在特征空间中对这些向量加以分类判别。对于二维图像,通常有以下几种图像特征:1.灰度值特征:图像中像素的灰度值,是图像特征中最为简单的特征。2.灰度差特征:图像中相邻两个像素的灰度值之差。灰度值特征和灰度差特征可以称为简单灰度特征。3.直方图特征:灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数;其横坐标是灰度级,纵坐标是该灰度出现的概率(像素的个数)。图像的直方图特征可以提供图像信息的许多特征,例如若直方图密集地分布在很窄的区域之内,说明图像的对比度很低;若直方图有两个峰值则说明存在着两种不同亮度的区域。4.变换系数特征:对像素的灰度值进行变换(这里的变换包括二维傅里叶变换,小波变换等)之后得到的系数。把这些特征提取出来后,可以作为模式识别或分类系统的输入信息。变换系数特征已成功地应用到土地情况分类,放射照片病情诊断等方面。5.线条和角点的特征:图像中的“点”的特征含义是,它的灰度与其领域的灰度值有显著的不同,检测这种点特征首先将图像进行低通滤波,然后将平滑后的每一个像素的灰度值和它相邻的四个像素的灰度值比较,当差值足够大时就可以检测出点特征来。图像中线条的特征意味着它在截面上的幅度分布出现凹凸状,也就是说在线段的法向上,图像的灰度值是由低到高再到低的变化,可以用不同的掩膜来检测出线条。从图像中提取出这些特征,不仅可以设法压缩图像的信息量,也便于描述,推理和识别。6.灰度边缘特征:图像的灰度、纹理的改变或不连续是图像的重要特征,它可以指示图像内各种物体的实际含量,图像灰度水平的局部不连续性称之为“边缘”,大范围的不连续性被称之为“边界”。7.纹理特征:纹理分为人工纹理和自然纹理。人工纹理是由自然背景上的符号排列组成,这些符号可以是线条、点、字母、数字等。自然纹理是具有重复性排列现象的自然景象。前者一般是有规则的,后者往往是无规则的。2.5.2特征选取特征提取之后,还需要根据一定的原则进行选择,使得分类判别问题能够更有效地进行,这一过程叫做特征选取。特征选取是将原始特征空间进行变换,重新生成一个维数更小、各维之间更独立的特征空间。常用的特征选择方法可以分为三类:主成分分析、随机映射、非负矩阵分解。第3章基于Matlab的缺陷检测算法研究3.1总流程图设计图像处理过程的流程图如图3-1所示:图3-1处理流程图在流程图的设计中,首先通过采集具有缺陷的光盘、u盘和手机壳的图像,然后,利用Matlab对图像进行处理,消除噪声以及增强对比度,在此基础上进行图像分割,提取图像中感兴趣的部分,最后自动识别所检测到的缺陷。3.2基于Matlab的工件图像预处理3.2.1工件图像的Matlab读入与格式转换Matlab软件图像的读入可通过imread函数读取图像数据。对整个工件由于其面积较大,为了研究方便,本文只截取其有缺陷的部分,其特征为一条裂纹。由于本文所使用的相机采集的图像的格式是RGB(真彩色图像),既包含亮度信息又包含色彩信息,在Matlab中保存为的数据数组,而灰度图像是只含亮度信息不含色彩信息的图像,在Matlab中保存为的数据数组。为去掉一些无用信息和减少图像的数据量,减轻以后处理的工作量,图像读入后把工件的RGB图像转换为灰度图像,使用Matlab中rgb2gray函数,实质上是将RGB图像中一个像素的3个分量,按一定的算法求出灰度图像的1个像素灰度值。算法基本公式为:(3.1)式中:R、G、B为彩色图像某个像素的3个分量;、、为强度系数。一般情况下满足。rgb2gray函数中,系数取值为[0.29890.58700.1140]。针对特定颜色的背景和目标图像,也可使用自己求得的系数,如在背景偏红、目标偏绿的况下,可以使用[010]或[-120]等系数,是更为科学的方法是采用统计算法求出最佳的系组合[40].。工件图像读入与格式转换程序如下:clearclcI=imread('D:\matlab\1.jpg');%读入工件图像%ifsize(I,3)==3I=rgb2gray(I);%TransformRGBimagetoaGrayone.%将RGB格式转换为灰度图像%endsubplot(1,2,1);imshow(I);title('灰度图像')%显示灰度图像%3.2.2工件图像的去噪和增强处理1.去噪处理由于各种因素的影响,在获取图像的过程中,无论采用何种装置,输入的图像往往不能令人满意,图像或多或少地感染一些噪声信号,这些噪声信号会影响图像的质量。为使噪声尽可能地减小,对图像进行去噪处理。去噪方法大致可分为:时域去噪和频域去噪。时域去噪的代表方法有加权平滑法、中值滤波、二值形态学法等;频域去噪的代表方法有数字滤波器、同态滤波、小波分析等。本文采用时域去噪中的中值滤波与频域去噪中的小波分析2种方法相结合的方法。因为中值滤波去噪可以在不减小图像对比度的情况下剔除那些异常点,具有拟制干扰脉冲和点状噪声的作用,并且可以保持较好的图像边缘。而小波分析与传统图像去噪算法相结合时,可以利用小波变换的多分辨特性和时频局部化特性,提高原有图像去噪算法的性能,降低对图像平稳性的要求,易于实现空间自适应处理[41]。去噪程序如下:Z1=double(medfilt2(I,[5,5]));%中值滤波去噪%[THR,SORH,KEEPAPP]=ddencmp('den','wv',Z1);%小波分析去噪%X=wdencmp('gbl',Z1,'sym4',2,THR,SORH,KEEPAPP);%使用sym4小波,设定全局阈值去噪%subplot(1,2,2);imshow(X,[]);title('去噪图像');%显示去噪图像%2.图像增强处理去噪完成后,为了让工件的裂纹显示更为直观明了,对图像进行增强处理。本文采用小波分析增强图像,因为增强算法的设计可以充分利用小波分析的时-频局部化特性,更加有效地提高图像增强的质量和算法的时效性[42]。小波分析增强程序如下:[Z1,s]=wavedec2(X,2,'sym4');%进行二层小波分解%len=length(Z1);%处理分解系数,突出轮廓,弱化细节%fori=1:lenif(i>334)Z1(i)=2*Z1(i)elseZ1(i)=1.7*Z1(i)endendZ=uint8(waverec2(Z1,s,'sym4'));%分解系数重构%title('增强图像')%显示增强图像%3.2.3工件裂纹的分割为了便于对工件裂纹进行分析,需要对图像进行边缘检测。Matlab软件中提供了edge函数用于边缘检测。其中edge函数有几种算子可供选择,分别是sobel,prewitt,canny等。由于canny算子是一种较新的边缘检测算子,具有很好的边缘检测性能,所以本文选用canny边缘检测来处理增强后的图像。canny边缘检测程序如下:BW1=edge(Z,'canny',0.4);%canny边缘检测,设定敏感阈值为0.4%figure,imshow(BW1);title('canny检测效果')%显示边缘检测图像%膨胀、填充、移除与边界连通的目标和平滑程序如下:se90=strel('line',12,90);se0=strel('line',12,0);%填补缝隙%BWsdil=imdilate(BW1,[se90,se0]);%膨胀操作%figure,imshow(BWsdil)title('膨胀图像')%显示膨胀图像%BWdfill=imfill(BWsdil,'holes');%填充%figure,imshow(BWdfill)title('填充图像')%显示填充图像%BWnobord=imclearborder(BWdfill,1);%移除与边界连通的目标%figure(6),imshow(BWnobord);title('移除与边界连通图像');%显示移除与边界连通的图像%seD=strel('diamond',1);BWfinal1=imerode(BWsdil,seD);BWfinal2=imerode(BWfinal1,seD);figure,imshow(BWfinal2);title('平滑图像')%显示平滑图像%3.3工件图像的特征提取与识别3.3.1特征提取图像特征提取计算是图像处理的关键部分。本文特征提取主要是对分割出来的裂纹进行面积和周长的计算。1.图像面积的计算计算面积的原理为:对于二值图像f(x,y)=1,其值取1表示物体,取0表示背景,其面积就是统计f(x,y)=1的个数[43]。因此,面积计算程序如下:count=0;%记录裂纹图像像素点的个数%[i,j]=size(BWnobord);form=1:iforn=1:jifBWnobord(m,n)>0%判断是否为裂纹图像像素点%count=count+1;endendendS=count;%统计裂纹图像像素点的个数%2.图像周长的计算计算裂纹周长采用的是形态学分析,其原理[44]:把边缘像素点看作一个个点时,则周长用链码表示,求周长也即计算链码的长度。此时,当链码值为奇数时,其长度记为;当链码值为偶数时,其长为1,即周长表示为:(3.2)、分别为边界链码(本文采用8方向)中偶步与奇步的数目。但在计算裂纹图像的周长时需先提取裂纹边缘,然后再进行周长计算。在提取边缘时还用edge函数中的canny算子对平滑后的图像进行处理,裂纹边缘提取图像如图3-2所示:图3-2光盘裂纹边缘提取图像计算周长的程序如下:BWfinal3=uint8(BWfinal2)BW2=edge(BWfinal3,'canny',0.4);%边缘提取%figure,imshow(BW2);title('canny检测结果');%显示边缘检测图像%[x,y]=size(BW2);%检测目标的边缘跟踪,用于计算周长%BW=bwperim(BW2,8);%检测垂直方向连续的周长像素点%P1=0;P2=0;Ny=0;%记录垂直方向连续周长像素点的个数%fori=1:xforj=1:yif(BW(i,j)>0)P2=j;if((P2-P1)==1)%判断是否为垂直方向连续的周长像素点%Ny=Ny+1;endP1=P2;endendendP1=0;P2=0;Nx=0;forj=1:yfori=1:xif(BW(i,j)>0)P2=i;if((P2-P1)==1)Nx=Nx+1;endP1=P2;endendNs=sum(sum(BW));%计算周长像素点总数%Nd=Ns-Nx-Ny;%计算奇数码的链码数%L=sqrt(2)*Nd+Nx+Ny;%计算周长%end3.3.2判断识别根据裂纹图像的特征(一般都是细长状的),引用圆形度参数来判断裂纹的真实性。圆形度用来描述景物形状接近圆形的程度,其计算式如公式(3.3)[45]:(3.3)式中:C为圆形度,L为景物周长,S为景物面积。利用以上程序对文中的光盘表面裂纹进行面积与周长计算,可得S=4443个像素点,L=476.59个像素点,则圆形度C=4.07。由于C在3~7都可以判断为裂纹[46],而本文计算的C=4.07,所以可以判定为裂纹。3.4图像处理所用Matlab函数在MATLAB中,对于本文涉及的程序设计中用到的函数及指令进行系统的解析:1.imshow:显示灰度图像Imshow[01]具体的灰度图像范围为[低高]。这个值较低时显示为黑色,较高显示为白色。介于中间时被显示为中间的灰度,使用同等数目的灰度层次;也就是说,最小值时显示为黑色,最大值时显示为白色。Imshow工具箱的基本形象的显示功能,优化数字、符号和图像对象设定为图像display的形式。2.rgb2gray:将RGB图形或色图矩阵转换成灰度图使用方法:(1)I=rgb2gray(RGB)将真彩色图像RGB转换成灰度图像I。rgb2gray删除图像中的色调和饱和度信息,而保留亮度信息,从而将RGB图像转换为灰度图。(2)newmap=rgb2gray(map)返回与色图map相对应的灰度色图。[注意]如果函数的输入是一个RGB图像,则它可以是uint8、uint16、single或double类型。输出的图像I的数据与输入的图像是相同类型的数据。如果输入的是色图,则输入和输出都是double类型的。3.medfilt2:中值滤波中值滤波是一种非线性滤波,一般用来处理图像的椒盐噪声。当用来保持边缘同时滤波的要求下,中值滤波要比卷积滤波更加有效。使用方法:(1)B=medfilt2(A,[mn])输入:A——图像矩阵、[mn]——邻域,默认为输出:B——滤波图像(2)B=medfilt2(A)输入:A——图像矩阵输出:B——滤波图像(3)B=medfilt2(A,'indexed',...)输入:A——图像矩阵、'indexed'——将A视为索引图像输出:B——滤波图像注:如果A为uint8类型,边界扩张为0;如果A为double类型,边界扩张为1。(4)B=medfilt2(...,padopt)输入:padopt——控制如何做矩阵边界扩张,默认为‘zeros’输出:B——滤波图像4.wdencmp:去噪或者压缩使用方法:[XC,CXC,LXC,PERF0,PERFL2]=wdencmp(‘gbl’,X,’wname’,N,THR,SORH,KEEPAPP)函数wdencmp用于一维或二维信号的消噪或压缩。wname是所用的小波函数,gbl(global的缩写)表示每层都采用同一个阈值进行处理,lvd表示每层用不同的阈值进行处理,N表示小波分解的层数,THR为阈值向量,阈值向量THR的长度为N,SORH表示选择软阈值还是硬阈值(分别取为’s’和’h’),参数KEEPAPP取值为1时,则低频系数不进行阈值量化处理,反之,则低频系数进行阈值量化。5.ddencmp:自动生成小波消噪或压缩的阈值选取方案使用方法:[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)[THR,SORH,KEEPAPP]=ddencmp(IN1,‘wv’,X)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,‘wp’,X)自动生成信号X的小波或小波包消噪或数据压缩的阈值选取方案。输入参数X为一维或二维的信号向量或者矩阵;输入参数IN1指定处理的目的是消噪还是压缩,可选值为:IN1=den,为信号消噪;IN1=cmp,为信号压缩;输入参数IN2指定处理的目的方式,可选值为:IN2=wv,使用小波分解;IN2=wp,使用小波包分解;6.wavedec2:多尺度二维小波分解使用方法:[CL]=wavedec2(X,N,‘wanme’)对信号X进行N尺度的小波分解,'wname'为所使用的小波名称。N为正整数。输出分解结构包括行向量C,它包含计算出的小波变换系数及定义了C中系数的排列的记录矩阵L。C的组织形式:[A(N)|H(N)|V(N)|D(N)|H(N-1)|V(N-1)|D(N-1)|...H(1)|V(1)|D(1)],其中A、H、V及D分别表示逼近系数、水平系数、垂直系数及对角系数,小括号中数字的含义如H(N)表示第N次分解的水平系数。L由两列组成,每一列对应相应的系数矩阵的大小。[CL]=wavedec2(X,N,,Lo_D,Hi_D)得到的分解结构同上,给出了用户确定的分解滤波器。7.waverec2:用于二维信号的多层小波重构使用方法:X=waverec2(C,S,‘wname’)。用基于二维小波多尺度分解出的[CS]结果带入,其过程可以参照指令waverec2分解出的二维信号的多层小波。重构的结果waverec2分解前得矩阵相差相同的差值。8.edge:识别强度图像中的边界使用方法:BW=edge(I,‘canny’,thresh)根据所指定的敏感度阈值thresh,用canny算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。9.strel:创建形态学结构元素使用方法:SE=STREL('arbitrary',NHOOD)创建一个指定领域的平面结构化元素。NHOOD是一个包含1/0的矩阵;1的位置定义了领域的形态学操作。NHOOD的中心就是它的中心元素,位置在FLOOR((SIZE(NHOOD)+1)/2)。也可以忽略参数串‘arbitrary’而只使用STREL(NHOOD)。10.imdilate:膨胀图像使用方法:(1)IM2=imdilate(IM,SE)膨胀灰度图像、二值图像、或者打包的二值图像IM,返回膨胀图像M2。变量SE是一个结构元素的数组,其是通过strel函数返回的。如果IM是一个单精度或平坦的结构元素,imdilate执行二值膨胀,否则执行灰度膨胀。如果SE是一个结构元素数组,则imdilate对输入图像利用SE中的结构元素复合膨胀。(2)IM2=imdilate(IM,NHOOD)膨胀图像IM,这里NHOOD是0或者1的矩阵,定义结构元素的邻域,此语句等同于imdilate(IM,strel(NHOOD))。11.imfill:填充图像的区域和洞使用方法:BW2=imfill(BW1,‘holes’),此命令为填充输入图像BW1中的洞。所谓的洞就是,由图像的边界不能通过填充直接到达的一组背景像素点的组成的集合,也即内部空洞。12.imerode:腐蚀图像(1)IM2=imerode(IM,SE)腐蚀灰度、二进制或压缩二进制图像IM,返回腐蚀图像IM2。参数SE是函数strel返回的一个结构元素体或是结构元素体阵列。如果IM是逻辑图像,结构元素是平坦的,imerode执行二进制膨胀,否则执行灰度腐蚀。如果SE是一个结构元素体阵列,imerode接连使用SE中的每个结构元素对输入图像进行多重腐蚀。(2)IM2=imerode(IM,NHOOD)腐蚀图像IM,这里的NHOOD是一个0和1组成的阵列,指明了结构元素邻域。这等同于imerode(IM,strel(NHOOD))的句法规则。函数imerode通过确定了邻域的中心元素。第4章实验结果对比与分析本节首先对图形处理过程中的参数进调整,调整到合适的参数,然后再进行图像处理,并对处理结果进行分析。4.1试验参数4.1.1测试图像的输入本文通过三种具体物件的表面划痕缺陷作为研究对象:第一种:光盘图像,CD.jpg;第二种:u盘图像,USBflashdisk.jpg;第三种:手机壳图像,Mobilephoneshell.jpg;测试图像的选择:通过预设命令input来改变测试图像,例如:clearallclcinput=1;ifinput==1I=imread(‘1.jpg’);elseifinput==2I=imread(‘2.jpg’);elseifinput==3I=imread(‘3.jpg’);End4.1.2程序参数的调整本组实验以光盘、u盘、手机壳三组图像在经过不同的增强处理,再经过膨胀、填充、平滑等处理后的图像为研究对象,分析不同增强系数下的处理结果,图像处理程序如下:[Z1,s]=wavedec2(X,2,'sym4');len=length(Z1);fori=1:lenif(i>334)Z1(i)=a1*Z1(i);elseZ1(i)=a2*Z1(i);endendZ=waverec2(Z1,s,'sym4');figure(2),imshow(Z);title('增强图像');BW1=edge(Z,'canny',0.4);%canny边缘检测%figure,imshow(BW1);title('canny检测效果')%显示边缘检测图像%se90=strel('line',8,90);se0=strel('line',8,0);%填补缝隙%BWsdil=imdilate(BW1,[se90,se0]);%膨胀操作%figure,imshow(BWsdil)title('膨胀图像')%显示膨胀图像%BWdfill=imfill(BWsdil,'holes');%填充%figure,imshow(BWdfill)title('填充图像')%显示填充图像%BWnobord=imclearborder(BWdfill,1);%移除与边界连通的目标%figure(6),imshow(BWnobord);title('移除与边界连通图像');%显示移除与边界连通的图像%seD=strel('diamond',1);BWfinal1=imerode(BWsdil,seD);BWfinal2=imerode(BWfinal1,seD);figure,imshow(BWfinal2);title('平滑图像')%显示平滑图像%在以上程序中,由于程序段Z1(i)=a1*Z1(i)和Z1(i)=a2*Z1(i)中a1和a2取值差值的不同,使得处理结果图也大不一样。处理结果图分析:(a)(b)(c)图4-1光盘平滑处理后图像如图4-1,是对光盘图像的处理结果图,其中对于(a)图,a1=2,a2=0.5,对于(b)图,a1=2,a2=1,对于(c)图,a1=2,a2=1.7。由(a)、(b)图可知当a1和a2差值较大时,会出现反光的影响,由图(c)可知当a1和a2差值变小时,不会出现反光的影响。(a)(b)(c)图4-2u盘平滑处理后图像如图4-2,是对u盘图像的处理结果图,其中对于(a)图,a1=2,a2=0.5,对于(b)图,a1=2,a2=1,对于(c)图,a1=2,a2=1.7。由(a)、(b)图可知当a1和a2差值较大时,会出现反光的影响,由图(c)可知当a1和a2差值变小时,不会出现反光的影响。(a)(b)(c)图4-3手机壳处理结果图如图4-3,是对手机壳图像的处理结果图,其中对于(a)图,a1=2,a2=0.5,对于(b)图,a1=2,a2=1,对于(c)图,a1=2,a2=1.7。由(a)、(b)图可知当a1和a2差值较大时,会出现反光的影响,由图(c)可知当a1和a2差值变小时,不会出现反光的影响。由以上处理结果图可见:对于相同的一幅图像来说,由于a1和a2两个值差值的不同,处理后的图像结果并不一样,当a1和a2两个值的差值变大时,平滑处理后的图像显示出的不仅有缺陷部位,而且也显示反光部位,如图4-1、图4-2、图4-3中的(a)图和(b)图;但是当a1和a2两个值的差值减小时只出现缺陷部位图像成分,如图4-1、图4-2、图4-3中(c)图。4.2实验结果对比与分析4.2.1光盘图像测试结果本组实验以光盘图像为研究对象,图4-4所示为存在缺陷的光盘图片处理过程图。其中,4-4(a)是经过灰度变换后的光盘图像,(b)是对经过灰度变换后图像进行去噪处理后图像,(c)为经过增强处理后图像,(d)为用canny算子提取边界后图像,(e)为膨胀后图像,(f)为填充后的图像,(g)为移除边界后图像,(h)为对移除边界后图像再次用canny算子提取边界处理后图像。(a)灰度变换后图像(b)去噪后图像(c)增强后图像(d)canny检测后图像(e)膨胀图像(f)填充图像(g)移除边界后图像(h)canny算子检测图像图4-4光盘图像处理过程图由图(b)可知,经过去噪处理后,图像明显变得清晰,由(c)图可知,经过增强处理后的图像明显的变得特别清晰,边缘检测后的图像如图(d)所示。由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断。针对边缘检测出的边缘有断裂的可能,本文通过Matlab中的strel函数,利用线性结果函数对边缘进行膨胀操作,填补边缘缝隙,如图(e)所示,利用Matlab中的imfill函数对膨胀后的图像进行填充,如图(f)所示然后,利用Matlab中的imclearborder来移除与边界连通的目标,如图(g)所示。由于本文在采集图像时,没有采集图片的边缘区域,所以以上处理是针对实际判定中所设定。至此,图像的缺陷部分已经完全显现出来。最后,对经过以上处理后的图像再次用canny算子进行检测,检测结果如图(h)所示。结果判别:处理后计算其周长和面积,周长为:L=476.59,面积为:S=4443,从而可求得圆形度为:C=4.07,由此可判定为划痕缺陷。4.2.2u盘图像测试结果本组实验以光盘图像为研究对象,图4-5所示为存在缺陷的光盘图片处理过程图。其中,4-5(a)是经过灰度变换后的光盘图像,(b)是对经过灰度变换后图像进行去噪处理后图像,(c)为经过增强处理后图像,(d)为用canny算子提取边界后图像,(e)为膨胀后图像,(f)为填充后的图像,(g)为移除边界后图像,(h)为对移除边界后图像再次用canny算子提取边界处理后图像。(a)灰度变换后图像(b)去噪后图像(c)增强图像(d)cnny算子检测图像(e)膨胀图像(f)填充图像(g)移除边界后图像(h)canny算子检测图像图4-5u盘处理后图像由图(b)可知,经过去噪处理后,图像明显变得清晰,由(c)图可知,经过增强处理后的图像明显的变得特别清晰,边缘检测后的图像如图(d)所示,由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,针对边缘检测出的边缘有断裂的可能,本文通过Matlab中的strel函数,利用线性结果函数对边缘进行膨胀操作,填补边缘缝隙,如图(e)所示,利用Matlab中的imfill函数对膨胀后的图像进行填充,如图(f)所示然后,利用Matlab中的imclearborder来移除与边界连通的目标,如图(g)所示。由于本文在采集图像时,没有采集图片的边缘区域,所以以上处理是针对实际判定中所设定。至此,图像的缺陷部分已经完全显现出来。最后,对经过以上处理后的图像再次用canny算子进行检测,检测结果如图(h)所示。结果判别:处理后计算其周长和面积,周长为:L=888.13,面积为:S=9797,从而可求得圆形度为:C=6.41,由此可判定为划痕缺陷。4.2.3手机壳图像测试结果本组实验以手机壳图像为研究对象,图4-6所示为存在缺陷的手机壳图片处理过程图。其中,4-6(a)是经过灰度变换后的光盘图像,(b)是对经过灰度变换后图像进行去噪处理后图像,(c)为经过增强处理后图像,(d)为用canny算子提取边界后图像,(e)为膨胀后图像,(f)为填充后的图像,(g)为移除边界后图像,(h)为对移除边界后图像再次用canny算子提取边界处理后图像。(a)灰度变换后图像(b)去噪后图像(c)增强图像(d)cnny算子检测图像(e)膨胀图像(f)填充图像(g)移除边界后图像(h)canny算子检测图像图4-6手机壳处理后图像由图(b)可知,经过去噪处理后,图像明显变得清晰,由(c)图可知,经过增强处理后的图像明显的变得特别清晰,边缘检测后的图像如图(d)所示

温馨提示

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

评论

0/150

提交评论