发明内容
为了解决上述技术问题,本发明的目的在于提供一种基于形态学的制冰盒注塑件缺陷检测方法,所采用的技术方案具体如下:
获取制冰盒注塑件的俯视图像,对俯视图像进行阈值分割得到二值图像,二值图像中脊部的灰度值为1,冰格的灰度值为0;
将二值图像置于直角坐标系的第一象限中,并获取其边缘图像,获取边缘图像中每列的每个像素点到横轴的距离,得到每列中最小距离对应的目标像素点,基于目标像素点对应的距离对边缘图像进行旋转归正,得到归正图像;获取归正图像中的脊部区域;
基于灰度游程矩阵判断脊部区域中是否存在缺陷,基于判断结果和脊部区域对应灰度游程矩阵的游程长度,选择对应的一维结构元类型对脊部区域进行形态学操作得到新图像,将新图像和二值图像进行异或操作,得到缺陷图像;
将缺陷图像中的残留的脊部凹槽位置处的像素点的灰度值置0,得到最终缺陷图像,获取最终缺陷图像中的多个缺陷连通域;将缺陷连通域的数量和面积的乘积作为缺陷检测指数。
进一步的所述基于目标像素点对应的距离对边缘图像进行旋转归正,得到归正图像的方法,包括:
当所有目标像素点的距离相等时,对边缘图像不进行旋转归正,并将其成为归正图像;
当所有目标像素点的距离不相等时,根据目标像素点的坐标构建变化曲线,获取变化曲线的极小值点,根据极小值点和其左相邻像素点的坐标计算图像旋转角度;基于图像旋转矩阵获取变换矩阵,利用变换矩阵对边缘图像进行变换,得到归正图像。
进一步的,所述基于灰度游程矩阵判断每个脊部区域中是否存在缺陷的方法,包括:
在脊部区域的横向或纵向中,当灰度游程矩阵的计数中断时进行标记,并依照中断前的游程方向进行逐像素步进;在步进过程中直至连续遇到设定数量个灰度值为1的像素点进行再次标记,并继续中断前的计数;以此类推,统计中断的标记次数以计算该方向上缺陷判定参数,则缺陷判定参数b的计算公式为:
其中,z为中断的标记次数;为第一次标记和最后一次标记之间灰度值为0的像素点数量;/>为灰度游程矩阵在游程方向上已知的脊部凹槽的数量;/>为已知的单个脊部凹槽在该方向上的长度;
当该方向的行或列上的缺陷判定参数在设定范围内时,确认脊部区域的这一行或这一列上没有缺陷;反之,当缺陷判定参数不在设定范围内时,确认脊部区域的这一行或这一列上存在缺陷。
进一步的,所述一维结构元的类型包括:
一维结构元是指滑窗,包括横向一维结构元和纵向一维结构元。
进一步的,所述基于判断结果和每个脊部区域对应灰度游程矩阵的游程长度,选择对应的一维结构元类型对脊部区域进行形态学操作得到新图像的方法,包括:
统计当前方向角度下灰度游程矩阵获取脊部区域的游程长度中的横向游程长度和纵向游程长度;当纵向游程长度大于横向游程长度时,选取纵向一维结构元;当纵向游程长度小于横向游程长度时,选取横向一维结构元;
根据选择的一维结构元类型对脊部区域中有缺陷的行或列进行对应脊部方向上的形态学操作,进而得到新图像。
本发明实施例至少具有如下有益效果:由于光照的影响,在制冰盒注塑件的冰格内部和脊部的亮度会出现一定的差异,先利用自适应阈值分割获得制冰盒脊部区域的图像,然后利用灰度游程矩阵获得并判断脊部的分布方向,最后利用一维形态学检测注塑件的缺陷,减少了传统的二维结构元在本发明中进行形态学处理时的冗余计算,提高了形态学处理时的计算速度,也提高了检测和生产效率。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于形态学的制冰盒注塑件缺陷检测方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于形态学的制冰盒注塑件缺陷检测方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种基于形态学的制冰盒注塑件缺陷检测方法的步骤流程图,该方法包括以下步骤:
步骤S001,获取制冰盒注塑件的俯视图像,对俯视图像进行阈值分割得到二值图像,二值图像中脊部的灰度值为1,冰格的灰度值为0。
具体的,将制冰盒注塑件平置在黑色的传送带上,避免光线反射等原因使制冰盒注塑件的冰格内的亮度过高,影响对图像的阈值分割,在传送带运行时应保证没有其他杂物干扰,利用相机拍摄获取制冰盒注塑件的俯视图像,并对图像进行降噪、增强等预处理。
制冰盒的脊部和冰格之间的高度差,会产生不同的明暗变化,冰格因为高度相对较低,所以在图像中的亮度较暗,相反,制冰盒的脊部高度较高,受到光照较多,在图像中亮度较亮,则用自适应阈值分割得到二值图像,其中,二值图像中脊部的灰度值为1,冰格的灰度值为0。
步骤S002,将二值图像置于直角坐标系的第一象限中,并获取其边缘图像,获取边缘图像中每列的每个像素点到横轴的距离,得到每列中最小距离对应的目标像素点,基于目标像素点对应的距离对边缘图像进行旋转归正,得到归正图像;获取归正图像中的脊部区域。
具体的,对上述中所得的二值图像建立坐标并将其置于第一象限,获得其边缘图像/>。
本发明对边缘图像进行分析的过程如下:
在将制冰盒注塑件平置在传送带上时,可能会出现放置偏移的情况,这样对后期的图像处理分析产生一定的影响,这样就需要通过图像旋转归正,即长边平行于横轴方向,短边平行于纵轴/>方向。
获取边缘图像中每列的每个像素点到横轴的距离,得到每列中最小距离对应的目标像素点,基于目标像素点对应的距离对边缘图像进行旋转归正,得到归正图像:当所有目标像素点的距离相等时,对边缘图像不进行旋转归正,并将其成为归正图像;当所有目标像素点的距离不相等时,根据目标像素点的坐标构建变化曲线,获取变化曲线的极小值点,根据极小值点和其左相邻像素点的坐标计算图像旋转角度;基于图像旋转矩阵获取变换矩阵,利用变换矩阵对边缘图像进行变换,得到归正图像。
作为一个示例,变换矩阵为:,其中,/>为图像旋转角度;矩阵/>表示图像中像素点的原位置坐标,矩阵/>表示旋转后像素点的位置坐标,则矩阵表示要将原像素点变换到旋转后像素点的变换矩阵;通过上式的变换,得到旋转归正后的图像。
因为制冰盒注塑件通常会以中间的脊部为主流道,其他的脊部为分流道,塑料熔体在注塑流动时冰格部分会因为与周围主流道或分流道之间的连通性较难以出现缺损,而分流道因为堵塞或压力不足会使脊部出现缺漏,即制冰盒的注塑缺漏损常存在于脊部,因此根据该分析,结合已知的冰格大小和数量的相关信息,利用归正图像和连通域检测的方法将待检测制冰盒中属于冰格的部分去除,得到脊部区域,以使后续的处理分析计算过程针对的是制冰盒的脊部区域。
需要说明的是,对归正图像进行连通域分析,基于连通域分析结果,将归正图像中的冰格区域去除,得到脊部区域。
步骤S003,基于灰度游程矩阵判断每个脊部区域中是否存在缺陷,基于判断结果和每个脊部区域对应灰度游程矩阵的游程长度,选择对应的一维结构元类型对脊部区域进行形态学操作得到新图像,将新图像和二值图像进行异或操作,得到缺陷图像。
具体的,由于灰度游程矩阵的统计方法为:在某个方向上将灰度值相同的统计为一个计数,但是当出现脊部凹槽和缺陷时,会打破传统灰度游程矩阵的统计规则,使其停止计数,为了保证能够得到制冰盒背脊的真实长度,应该在存在疑似缺陷的背脊长度下,进行灰度游程统计,具体的应该在某一行下统计相同像素点的游程长度下,存在间隔像素时,进行标记但继续参与统计,直到存在与之前的游程长度下相同的像素点值,进一步进行游程长度统计,直到当前方向下当前行所有像素点都参与统计,另外在制冰盒的脊部区域中出现缺陷时,通常会在缺陷位置处呈现脊部断开的样子,故对某一横向或纵向的脊部可以仅分析其包含的某一行或一列像素点,具体检测区分行列上脊部凹槽和缺陷的分析过程如下:
当脊部区域存在缺陷时,在利用灰度游程矩阵进行计数时,会受到缺陷的存在而影响计数长度,例如:当一个横向的脊部有一个缺陷很靠左时,灰度游程矩阵在扫描的时候横向就会相较于纵向很短,选择了纵向为主方向,这样就导致本该在横向上进行闭运算的,结果选了纵向,导致对一维结构元选取出现引导错误,因此设置灰度游程矩阵的跳过操作,以增强后续形态学操作结果。
其中,灰度游程矩阵的跳过操作的具体过程为:
(1)在脊部区域的横向或纵向中,当灰度游程矩阵的计数中断时进行标记,并依照中断前的游程方向进行逐像素步进。
(2)进行上述步进过程,直至连续遇到灰度值为1的像素点并再次标记,然后继续中断前的计数,其中连续数量为5个。
(3)当再次出现中断时,重复步骤(1)至步骤(2)的过程。
(4)记中断的标记次数为z,计算该方向上缺陷判定参数b,以对脊部区域中的缺陷和脊部凹槽进行判定分析,其中缺陷判定参数b的计算公式为:
其中,z为灰度游程矩阵在进行上述跳过操作时的中断标记次数;为第一次标记和最后一次标记之间灰度值为0的像素点数量;/>为灰度游程矩阵在游程方向上已知的脊部凹槽的数量;/>为已知的单个脊部凹槽在该方向上的长度。
需要说明的是,缺陷判定参数用于在灰度游程矩阵的游程方向上的该行或列中是否为脊部凹槽所在的行或列,以及是否存在缺陷进行判定。当该行或列上是脊部凹槽所在的行或列且不存在缺陷时,中断的标记次数z的倍等于对应方向上的脊部凹槽数量/>,且在脊部区域中,第一次标记和最后一次标记之间灰度值为0的像素点数量近似等于/>个脊部凹槽在该方向上的总长度。
当该方向的行或列上的缺陷判定参数时,确认脊部区域的这一行或列上没有缺陷;反之,当缺陷判定参数/>时,确认脊部区域的这一行或列上存在缺陷。
需要说明的是,通过灰度游程矩阵对脊部区域上的缺陷和脊部凹槽进行区分,能够在避免缺陷影响的的情况下,排除脊部凹槽区域的影响,保证后续引导一维结构元的形态学操作过程中,能够针对脊部区域上的存在缺陷部分进行形态学闭运算,使缺陷能够完全连通。
通常所用的制冰盒是一种脊部结构横竖分布的简单注塑件,利用传统的二维结构元进行形态学操作时,会在横向脊部上进行纵向上的膨胀或腐蚀,在纵向脊部上进行横向上的膨胀或腐蚀,这些都是不必要的形态学操作,因此本发明构建非传统的一维结构元对脊部区域进行迭代膨胀和腐蚀,以减少传统二维结构元下不必要的形态学计算过程,提高检测效率。
在本发明中利用一维结构元减少了在同样的缺陷检测场景下利用二维结构元进行形态学操作时的冗余计算,上述步骤中图像已经归正,因此制冰盒图像中的脊部区域的分布都是横向或竖向,故结合场景特征构建一维的形态学结构元,该一维结构元如图2所示的横向一维结构元和纵向一维结构元。
另外在本发明中,令灰度游程矩阵为,其中,o为脊部区域中的灰度值,p为灰度值所游走的长度,即脊部区域中在相同灰度值o下有连续p个出现,q为灰度游程矩阵所计算的方向角度。
因为本发明中是对归正后的脊部区域进行分析,因此o的取值选择只有1,即仅考虑的情况;另外,通常方向角度为0˚、45˚、90˚和135˚,在上述步骤中对图像已经进行旋转归正处理,而脊部对应的亮区分布是横向或纵向的,故方向角度仅考虑0˚和90˚。
基于判断结果和每个脊部区域对应灰度游程矩阵的游程长度,选择对应的一维结构元类型对脊部区域进行形态学操作得到新图像,具体过程如下:
(1)记灰度游程矩阵获取脊部区域的游程长度中横向游程长度为ph,纵向游程长度为ps,根据横向游程长度和纵向游程长度的差异,选取对应的一维结构元类型。
具体的,在利用一维结构元对脊部区域的横向或纵向进行形态学操作时,需要利用灰度游程矩阵对两种一维结构元进行引导选取,其中两种一维结构元包括横向一维结构元和纵向一维结构元,由于在利用灰度游程矩阵进行游程时,受到制冰盒脊部的宽度影响,使得横向或纵向的游程距离等于脊部宽度,进而影响对一维结构元的选取,因此若纵向游程长度大于横向游程长度时,选取纵向一维结构元;若纵向游程长度小于横向游程长度时,选取横向一维结构元。
(2)根据选择的一维结构元类型对脊部区域中有缺陷的行或列进行脊部方向上的形态学操作,即对该方向上的像素点进行膨胀腐蚀的迭代操作:
其中,P表示对脊部区域进行膨胀,F表示腐蚀;上述所列各式为对膨胀和腐蚀的原公式的改动,使其变为迭代公式;其中(1)式为当分布方向角度为0˚时,对该方向上的像素点进行迭代膨胀操作,使其不再发生变化,记其迭代次数为/>,则后续在对该方向上进行迭代腐蚀操作/>时,其迭代次数定为/>;同样的,/>为纵向的迭代膨胀,/>为纵向的迭代腐蚀,记迭代次数为/>;迭代次数/>、/>反映了制冰盒脊部中缺陷的大小,值越大,缺陷越严重,反之,越轻微。
将迭代膨胀和迭代腐蚀先后结合,即对脊部区域进行一维迭代闭运算,进而得到新图像,/>是将图像中脊部区域的断开处连接起来的图像。
将新图像和二值图像进行异或操作,得到缺陷图像:
其中,为图像的行和宽;符号⊕为异或的逻辑运算符;该式求取的是二值图像和经过一维形态学操作后的差异图像,其中会包含缺陷区域。
步骤S004,将缺陷图像中的残留的脊部凹槽位置处的像素点的灰度值置0,得到最终缺陷图像,获取最终缺陷图像中的多个缺陷连通域;将缺陷连通域的数量和面积的乘积作为缺陷检测指数。
具体的,因为步骤S003利用一维结构元进行形态学闭运算时,是对该游程方向上的整行或列进行的操作,故会将该行或列上的脊部凹槽一起闭合掉。另外由于在去除冰格区域时已知冰格为周期分布的结构,而脊部凹槽与冰格呈周期性的交替分布,所以可以根据脊部凹槽在固定位置上存在周期分布的特点,结合上述中利用灰度游程矩阵检测到的脊部凹槽部分,将缺陷图像中的残留的脊部凹槽位置处的像素点灰度值归为0,则有最终缺陷图像/>。
统计最终缺陷图像中灰度值为1对应的缺陷连通域的数量为,计算所有缺陷连通域的面积s:
其中,Q为检测到缺陷连通域,为最终缺陷图像的行数和列数。
面积s表示对最终缺陷图像中像素点的灰度值为1的连通区域进行像素点数量统计,用于表征制冰盒脊部上的缺陷面积。
将缺陷连通域的数量和面积的乘积作为缺陷检测指数,则缺陷检测指数为:
其中,为缺陷连通域的数量,;/>越大,制冰盒脊部的缺陷数量越多,情况越严重,反之,越轻微。
综上所述,本发明实施例获取制冰盒注塑件的俯视图像得到对应的二值图像;将二值图像置于直角坐标系的第一象限中,并获取其边缘图像,对边缘图像进行旋转归正得到归正图像;获取归正图像中的脊部区域,判断脊部区域中是否存在缺陷,基于判断结果和脊部区域对应灰度游程矩阵的游程长度,选择对应的一维结构元类型对脊部区域进行形态学操作得到新图像,将新图像和二值图像进行异或操作,得到缺陷图像;基于缺陷图像获取缺陷连通域,将缺陷连通域的数量和面积的乘积作为缺陷检测指数。本发明提高了缺陷检测的效率和准确性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。