一种用于薄膜标签瑕疵检测的图像分割方法与流程

文档序号:13697440阅读:325来源:国知局
技术领域本发明属于图像处理技术领域,涉及一种用于薄膜标签瑕疵检测的图像分割方法。

背景技术:
在薄膜标签的瑕疵检测中,由于最终是对二值图进行处理来判别瑕疵,图像分割的好坏决定了后期图像处理的效果,因此图像分割在薄膜标签的瑕疵检测此类应用中占据了重要地位。现有技术存在以下缺陷a)分割的阈值选取不当会导致二值化的效果差b)部分细节处理不当,例如薄膜标签背面的字迹也被进行了二值化,被显示了出来,对于瑕疵检测的干扰极大。

技术实现要素:
本发明针对现有技术的不足,提出了一种用于薄膜标签瑕疵检测的图像分割方法。本发明解决技术问题所采取的技术方案步骤如下:步骤一:通过工业相机采集薄膜标签的BMP图像,并将图片转为灰度图。步骤二:统计灰度值相同的像素点的个数,并画出直方图。步骤三:利用差值法对直方图进行平滑,剔除毛刺。步骤四:统计每个波峰的起始,波峰位置以及终止位置。规定连续六个及六个以上的递增则为波的递增段,连续六个及六个以下的递减则为波的递减段;设连续递增的值用UP表示,连续递减的值用Down表示,pTistogram[i]表示每个灰度值的个数,去除伪波或者半波处理如下:递增阶段:情况一:当UP++,若Down<4,则Down=0;情况二:当UP++,若Down>3,则UP=1,Down=0;情况三:当Down++,若UP<4,则UP=0;情况四:当Down++,若4<=UP<6&&Down>3则,UP=0;情况五:当Down++,若UP>=6&&Down>3,则确定初始位置和波峰位置,UP=0,Down保持不变,此时结束波的递增段寻找,开始寻找波的递减段;其中UP++表示连续递增,Down++表示递增的时候突然一个或者连续几个递减;递减阶段:情况一:当Down′++,若UP<4,则UP=0;情况二:当Down′++,若UP>3,则Down=1,UP=0;情况三:当UP′++,若4<=Down<6,则Down=0;情况四:当UP′++,若Down<4,则Down=0;情况五:当Down′++,若Down>=6&&pTistogram[i+1]<200,则确定终止点位置,则结束第一个波的寻找,开始寻找第二个波的递增段;情况六:当UP′++,若Down>=6&&(UP>3||pTistog[i+1]<200),则确定终止点位置,则结束第一个波的寻找,开始寻找第二个波的递增段;直到i<255时结束寻找;其中Down′++表示连续递减,UP′++表示递增的时候突然一个或者连续几个递增;步骤五:统计波峰的个数。步骤六:确定阈值。当波的个数小于等于1的时候,步骤四确定的终止点位置即所需要的阈值;当波的个数大于1的时候,先取相邻两个波峰,两波峰之间进行S函数的模糊化,模糊率为λ,当模糊率最小时,则所求的阈值则为λmin,然后依次在两两相邻的波峰之间寻找阈值;步骤七:得到阈值后,即可完成对图像的分割。本发明的有益效果:本发明对于前景和背景对比鲜明的图像有很好的分割效果,目前主要应用在薄膜标签的瑕疵检测中。对于该类应用的顺利实施起到了重要作用,提高了瑕疵的识别正确率。同时该类应用对于人力成本的节省以及劳动生产率的提高起到了重要作用。附图说明图1为理想中的灰度值的统计曲线;图2为实际处理中灰度值的统计曲线;图3为本发明方法的流程图;图4为确定波的起始,波峰,终止位置的流程图。具体的实施方式以下结合附图对本发明作进一步的描述。本实施例主要针对薄膜标签的瑕疵检测,提出了一种图像分割的方法,能够更加适应此类应用的顺利实施。本实施例的发明点描述:a)寻找波峰波谷的时候存在伪波,半波等情况,去除这些干扰。b)结合S函数模糊化,寻找相邻两个波峰之间的波谷,这个波谷值就是所求阈值。具体实施方案如下:a)波的分析本实施例中很重要的一点是波的分析,一个完整的波由波的起始位置,波峰以及波的终止位置组成。基于此类应用的图像,其理想中的灰度值的统计曲线如图1所示,而在实际处理中灰度值的统计曲线如图2所示,从图2中可以发现一个完整的波存在诸多干扰,比如伪波,半波等,因此需要去除这些干扰。b)阈值的确定在去除了干扰之后得到了完整的波峰,如图2所示,两个波峰之间必定存在一个波谷,通过S函数的模糊化确定波谷位置。c)主要流程如图3所示,该流程的主要目的是自动检测出图像分割的最适阈值。1)步骤一:通过工业相机采集薄膜标签的BMP图像,并将图片转为灰度图。2)步骤二:统计灰度值相同的像素点的个数,并画出直方图;3)步骤三:对直方图进行简单平滑,剔除毛刺;利用差值法进行平滑,采用公式temp=1stepΣj=0-step2step2f(i+j)]]>其中,步长为step,i为对应灰度值。计算它平滑后的值temp,并将temp保存在数组pTistogram[i]中。4)步骤四:统计每个波峰的起始,波峰以及终止位置;对于离散函数的单调性判决方法如下:对于离散函数如果对于一切i≥0成立,则称关于一切Xi单调递增,反之则单调递减。在这里,规定连续六个及六个以上的递增则为波的递增段,连续六个及六个以下的递减则为波的递减段。由于波存在半波,伪波等这样的情况,对于实际的情况干扰极大,所以需要去除这些干扰。假设连续递增的值用UP表示,连续递减的值用Down表示,pTistogram[i]表示每个灰度值的个数。递增阶段情况(pTistogram[i+1]>=pTistogram[i]):(注:UP++表示连续递增,Down++表示递增的时候突然一个或者连续几个递减,下列情况是为了去除伪波或者半波)情况一:当UP++,若Down<4,则Down=0;情况二:当UP++,若Down>3,则UP=1,Down=0;情况三:当Down++,若UP<4,则UP=0;情况四:当Down++,若4<=UP<6&&Down>3则,UP=0;情况五:当Down++,若UP>=6&&Down>3,则确定初始位置和波峰位置,UP=0,Down保持不变,此时结束波的递增段寻找,开始寻找波的递减段。递减阶段情况(pTistogram[i+1]<=pTistogram[i]):(注:Down′++表示连续递减,UP′++表示递增的时候突然一个或者连续几个递增)情况一:当Down′++,若UP<4,则UP=0;情况二:当Down′++,若UP>3,则Down=1,UP=0;情况三:当UP′++,若4<=Down<6,则Down=0;情况四:当UP′++,若Down<4,则Down=0;情况五:当Down′++,若Down>=6&&pTistogram[i+1]<200,则确定终止点位置,则结束第一个波的寻找,开始寻找第二个波的递增段;情况六:当UP′++,若Down>=6&&(UP>3||pTistog[i+1]<200),则确定终止点位置,则结束第一个波的寻找,开始寻找第二个波的递增段;直到i<255时结束寻找。5)步骤五:统计波峰的个数由于步骤四寻找到的波都保存起来,这个时候读取它波的个数。6)步骤六:确定阈值当波的个数小于等于1的时候,步骤四确定的终止点位置即所需要的阈值;当波的个数大于1的时候,先取相邻两个波峰,两波峰之间进行S函数的模糊化,模糊率为λ,当模糊率最小时,则我们所求的阈值则为λmin。然后依次在两两相邻的波峰之间寻找阈值。图4为确定波的起始,波峰,终止位置的流程图,此种方法考虑了十几种干扰的组合,使结果更加精确。综上,本实施例可以提高薄膜标签分割的效果,更好地适应薄膜标签缺陷检测需求,保障后续步骤能够更好地实施。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1