一种基于OpenCV的高反光瓶盖缺陷检测方法技术

技术编号:32215561 阅读:10 留言:0更新日期:2022-02-09 17:21
本发明专利技术公开了一种基于OpenCV的高反光瓶盖缺陷检测方法,包括瓶盖端面检测和瓶盖侧面检测,首先采用相机对高反光瓶盖端部进行拍照,得到端面图像,利用边缘检测并拟合提取瓶盖边界曲线,利用OpenCV库中函数阈值分割寻找边界曲线内的缺陷,如果有缺陷,通过OpenCV库中函数将缺陷显示在图像上;之后采用至少四个方向对高反光瓶盖的侧面进行拍照,得到侧面图像,利用已知模板图像提取图像中瓶盖侧面的目标区域,并对目标区域进行图像预处理,之后利用OpenCV库中函数对侧面图像进行阈值分割识别缺陷,并将缺陷显示在侧面图像上。本发明专利技术计算效率高,所需算力小,能自动识别出塑料瓶盖上的划痕、凹坑等缺陷,并有效的定位缺陷的位置,大幅度提高了生产效率。大幅度提高了生产效率。大幅度提高了生产效率。

【技术实现步骤摘要】
一种基于OpenCV的高反光瓶盖缺陷检测方法


[0001]本专利技术属于智能检测领域,涉及一种瓶盖缺陷检测,具体涉及一种基于OpenCV的高反光瓶盖缺陷检测方法。

技术介绍

[0002]人们的日常生活中会用到各种各样的瓶盖,市面上常见的瓶盖大致可以分为圆柱形,圆柱与球形的结合形以及宝塔形等几种类型,为了美观的需求在加工完之后需要在瓶盖的外表面进行喷漆处理,这就造成瓶盖的外表面成为极易反光的面,而特殊的形状又会造成光线的反射导致出现一些高反光的区域;喷完漆的瓶盖表面是极其脆弱的,容易出现划痕,喷漆掉落等缺陷,在生产过程中的碰撞会导致瓶盖表面出现凹坑,这些缺陷的出现及分布是不规律的,可能出现在瓶盖的端面,侧面甚至是端面和侧面的连接处。而目前并没有较好的技术能够解决这种高反光瓶盖表面上的瑕疵检测,OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,包含大量可以调用函数,能够对视觉学习进行处理,因此本专利技术提出一种基于OpenCV的高反光塑料瓶盖外表面瑕疵智能检测方法,在检测的时候分别对瓶盖的端面和侧面进行检测,能够有效的解决现有的高反光类的瓶盖上的瑕疵检测问题。

技术实现思路

[0003]本专利技术针对现有的工业生产过程中的高反光表面的塑料瓶盖上的缺陷只能依靠人工进行检测导致的劳动强度大以及检测效果差的问题,结合OpenCV提出了一种缺陷自主识别检测的方法。该方法通过提取瓶盖图像上的ROI(Region of Interest)区域对瓶盖进行定位进而对瓶盖上的缺陷进行识别和定位,最终通过执行机构对瓶盖进行筛选,达到瓶盖的缺陷自主检测、识别的目的。
[0004]为了实现上述目的,本专利技术的技术方案如下:
[0005]本专利技术提供了一种基于OpenCV的高反光瓶盖端面缺陷检测方法,其特征在于,包括如下步骤:
[0006]步骤1、将拍摄得到的瓶盖端面图像进行灰度处理,得到瓶盖的端部灰度图;
[0007]步骤2、边缘提取,对端部灰度图利用阈值分割的方法寻找出瓶盖端面的边界曲线,然后将所有的边界曲线长度排序,取最长的边界以及第二长的边界的边界曲线;
[0008]步骤3、数据转换,将获得的边界曲线转换成含有(x,y)形式的坐标列表,并从坐标列表中等距的取出M个坐标点数据作为拟合数据点集Q,M大于3;
[0009]步骤4、通过上述的M个坐标点数据利用圆拟合方法寻找边界的拟合圆,得到内边界圆和外边界圆;
[0010]步骤5、利用拟合的边界圆在步骤1中得到的端部灰度图上做掩膜操作分别得到内圆以内的内圆图像和内外圆之间的环形图像;
[0011]步骤6、寻找目标图像,利用OpenCV库中的cv2.threshold函数在步骤5中得到的内
圆图像以及内外圆之间环形图像中寻找阈值范围内的缺陷;
[0012]步骤7、利用OpenCV库中的cv2.findContours函数寻找步骤6得到的图像中的缺陷边界,如果缺陷边界数量小于阈值,就将其标记为合格端面;否则就将其标记为不合格端面;并将缺陷边界在步骤1中的原瓶盖端面图像中显示出来。
[0013]进一步地,步骤4中,拟合圆的具体方法如下:
[0014]步骤4.1、从拟合数据点集Q内随机抽取3个坐标点,组成拟合数据集P,对数据集P采用三点拟合圆方法求解出拟合圆S1的圆心坐标以及半径;
[0015]步骤4.2、计算拟合数据点集Q中剩余的M

3个坐标点数据与拟合圆S1之间的位置关系,将所有落在拟合圆S1的圆内或者圆周上的点标记为局内点,所有局内点一起组成形成局内点集J1,判断局内点集的点数M1是否大于N,如果大于执行步骤4.3,否则返回步骤4.1;
[0016]步骤4.3、在局内点集J1内随机选取三个坐标点,组成拟合数据集P

,对数据集P

采用三点拟合圆方法求解出新拟合圆S1’
的圆心坐标以及半径;
[0017]步骤4.4、判断步骤4.1中选取的P内3个坐标点和局内点集J1内剩余坐标点与新拟合圆S1’
的位置关系,得到新局内点集J1’
,如果新局内点集J1’
与步骤4.2中的局内点集J1中坐标点数量相同,则保留步骤4.1中拟合圆S1作为备选拟合圆S2,否则舍弃;
[0018]步骤4.5、重复执行步骤4.1至步骤4.4,完成设定循环次数K,从K次循环中选取局内点集J1中坐标点最多的备选拟合圆S2作为最优拟合圆S0,相应局内点集J1为最优局内点集J0;
[0019]步骤4.6、判断拟合数据点集Q减去最优局内点集J0后坐标点总数是否大于3,如果大于3,则将拟合数据点集Q减去最优局内点集J0后作为新的拟合数据点集Q,并返回执行步骤4.1;否则拟合圆结束,并取点数量最多的最优局内点集J0作为最终的最优局内点集J,相应的最优拟合圆S0为最终输送拟合圆S,输出最优拟合圆S的圆心坐标和半径。
[0020]进一步地,所述拟合数据点集中坐标点的数量M为10

30,步骤4.5中循环次数K为100

500次,最优为300次,步骤4.2局内点总数的判断阈值N范围为5

10。
[0021]进一步地,步骤6中,在目标区域找到缺陷后,通过remove_small_objects函数删掉小缺陷进行噪声剔除,然后执行步骤7。
[0022]进一步地,步骤4中三点拟合圆的具体方法如下:
[0023](1)从拟合数据点集或局内点集中随机选取的3个坐标点记为(x1,y1),(x2,y2),(x3,y3),构建矩阵
[0024](2)将上述的3个点的坐标构建矩阵
[0025](3)求解px=q,解即为拟合的圆的坐标矩阵,
[0026](4)根据求得的解矩阵x求解圆心坐标(x0,y0)以及半径r。
[0027]进一步地,所述最长的边界以及第二长的边界分别为瓶盖倒角的外边界和内边界。
[0028]本专利技术还提供一种基于OpenCV的高反光瓶盖侧面缺陷检测方法,其特征在于,包括如下步骤:
[0029]步骤S1、对同型号瓶盖侧面拍照,选取拍摄图像里确定没有缺陷的一张图,将瓶盖所在区域的矩形图像截取出来作为模板图像;
[0030]步骤S2、对待检测瓶盖侧面进行拍照,将拍摄得到的侧面图像进行局部直方图均衡化处理,消除光照不均匀情况;
[0031]步骤S3、提取ROI区域,将待检测的侧面灰度图与模板图像进行匹配提取出图像中的目标区域,得到检测图像;
[0032]步骤S4、将步骤S3中得到的检测图像中的高亮区域去除掉以消除干扰;
[0033]步骤S5、将步骤S4中得到消除高亮区域的检测图像转换成灰度图,然后利用灰度值的阈值分割图像获得目标阈值范围内的缺陷;
[0034]步骤S6、利用OpenCV库中的cv2.findContours函数寻找步骤S6中图像内的缺陷边界,如果缺本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenCV的高反光瓶盖端面缺陷检测方法,其特征在于,包括如下步骤:步骤1、将拍摄得到的瓶盖端面图像进行灰度处理,得到瓶盖的端部灰度图;步骤2、边缘提取,对端部灰度图利用阈值分割的方法寻找出瓶盖端面的边界曲线,然后将所有的边界曲线长度排序,取最长的边界以及第二长的边界的边界曲线;步骤3、数据转换,将获得的边界曲线转换成含有(x,y)形式的坐标列表,并从坐标列表中等距的取出M个坐标点数据作为拟合数据点集Q,M大于3;步骤4、通过上述的M个坐标点数据利用圆拟合方法寻找边界的拟合圆,得到内边界圆和外边界圆;步骤5、利用拟合的边界圆在步骤1中得到的端部灰度图上做掩膜操作分别得到内圆以内的内圆图像和内外圆之间的环形图像;步骤6、寻找目标图像,利用OpenCV库中的cv2.threshold函数在步骤5中得到的内圆图像以及内外圆之间环形图像中寻找阈值范围内的缺陷;步骤7、利用OpenCV库中的cv2.findContours函数寻找步骤6得到的图像中的缺陷边界,如果缺陷边界数量小于阈值,就将其标记为合格端面;否则就将其标记为不合格端面;并将缺陷边界在步骤1中的原瓶盖端面图像中显示出来。2.根据权利要求1所述的高反光瓶盖端面缺陷检测方法,其特征在于:步骤4中,拟合圆的具体方法如下:步骤4.1、从拟合数据点集Q内随机抽取3个坐标点,组成拟合数据集P,对数据集P采用三点拟合圆方法求解出拟合圆S1的圆心坐标以及半径;步骤4.2、计算拟合数据点集Q中剩余的M

3个坐标点数据与拟合圆S1之间的位置关系,将所有落在拟合圆S1的圆内或者圆周上的点标记为局内点,所有局内点一起组成形成局内点集J1,判断局内点集的点数M1是否大于N,如果大于执行步骤4.3,否则返回步骤4.1;步骤4.3、在局内点集J1内随机选取三个坐标点,组成拟合数据集P

,对数据集P

采用三点拟合圆方法求解出新拟合圆S1’
的圆心坐标以及半径;步骤4.4、判断步骤4.1中选取的P内3个坐标点和局内点集J1内剩余坐标点与新拟合圆S1’
的位置关系,得到新局内点集J1’
,如果新局内点集J1’
与步骤4.2中的局内点集J1中坐标点数量相同,则保留步骤4.1中拟合圆S1作为备选拟合圆S2,否则舍弃;步骤4.5、重复执行步骤4.1至步骤4.4,完成设定循环次数K,从K次循环中选取局内点集J1中坐标点最多的备选拟合圆S2作为最优拟合圆S0,相应局内点集J1为最优局内点集J0;步骤4.6、判断拟合数据点集Q减去最优局内点集J0后坐标点总数是否大于3,如果大于3,则将拟合数据点集Q减去最优局内点集J0后作为新的拟合数据点集Q,并返回执行步骤4.1;否则拟合圆结束,并取点数量最多的最优局内点集J0作为最终的最优局内点集J,相应的最优拟合圆S0为最终输送拟合圆S,输出最优拟合圆S的圆心坐标和半径。3.根据权利要求2所述的高反光瓶盖端面缺陷检测方法,其特征在于:,所述拟合数据点集中坐标点的数量M为10

30,步骤4.5中循环次数K为100

500次,步骤4.2局内点总数的判断阈值N范围为5

10。4.根据权利要求2所述的高反光瓶盖端面缺陷检测方法,其特征在于:步骤6中,在目标区域找到缺陷后,通过remove_small_objects函数删掉小缺陷进行噪声剔...

【专利技术属性】
技术研发人员:朱大虎张曙文杨永佳涂秋平田大庄庄可佳
申请(专利权)人:武汉理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1