本发明涉及一种含螺钉的金属表面多条划痕检测方法,更具体的说,本发明涉及一种能够克服螺钉干扰并可实现多条划痕同时检测的方法。
背景技术:
在机械产品的各种表面缺陷中,划痕缺陷最为常见。由于受加工工艺甚至是运输操作影响,划痕本身存在尺度小,形态差异大的特点。然而划痕检测过程又极易受光照影响和背景的干扰,特征提取往往存在很大难度,因此划痕缺陷检测一直是产品表面质量检测中的难点。为了精确的检测划痕,弥补人工检测效率低、检测标准不一等缺陷,机器视觉检测逐渐发展为检测金属表面划痕的重要方法和判断依据,因其在弥补人工检测缺陷的同时,大大提高了检测速度和精度。然而在机器视觉对金属表面划痕的检测中,金属表面纹理是很大的干扰因素,经工业相机拍照、二值化处理后,纹理会作为划痕显示出来,因此划痕的提取检测存在很大难度。为了解决金属表面划痕检测甚至是多条划痕同时检测的难题,本发明基于图像形态学、自定义滤波算法和自定义螺钉去除算法,设计了一种应用于含螺钉的金属表面划痕检测方法。
技术实现要素:
本发明设计了一种应用于含螺钉的金属表面划痕检测的方法,该方法能够应用于包含螺钉的金属表面划痕检测中,弥补传统划痕检测无法有效去除螺钉以及金属纹理干扰的缺陷。
所述的含螺钉的金属表面划痕检测法的硬件系统包括:
用于投射光源的穹顶光源,穹顶光源个数为1个;
用于采集图像的工业相机,工业相机个数为1个;
用于数据处理以及分析的计算机;
用于放置所述的光源和所述的工业像机的扫描平台;
本发明所设计的应用于包含螺钉的金属表面划痕检测方法,其实现过程是:
本发明涉及一种含螺钉的金属表面多条划痕检测方法,其特征是,包含步骤如下:
步骤1:启动用于对待检测金属投射光源的穹顶光源、用于图像采集的工业相机以及用于数据处理的软件平台,得到待检测金属原始图像i1;
步骤2:对步骤1中所述的待检测金属原始图像i1进行拷贝,得到待检测金属副本图像i2,对副本图像i2进行灰度处理、均值滤波处理和二值化处理,得到图像i3;
步骤3:定义[i][j]为图像矩阵中的第i行第j列,取i3[i][j]的8邻域大小为运算区域,将运算区域内的像素值按照升序排列并取中间像素值为a,将a写入新图像i4的i4[i][j]中;
步骤4:将步骤3中所述的运算区域从步骤2中所述的图像i3的第1行第1列开始,依次遍历,并按照步骤3中所述的方法依次对图像i3进行运算并得到图像i4,然后对图像i4进行轮廓提取;
步骤5:对步骤4中得到的图像i4中子图形的所有轮廓进行检索,并计算所有轮廓的轮廓面积,设定面积阈值s0,将所有轮廓面积低于面积阈值s0的轮廓去除,得到图像i5,图像i5按照公式(1)进行圆检测,得到包含若干圆形的图像i6;
rc=xc·cosθ+yc·sinθ公式(1)
步骤6:定义v为线段数量阈值,筛选步骤5所述图像i6中满足以点(xc,yc)为圆心、rc为半径的圆形,其条件为有超过v条长度为rc的线段通过点(xc,yc),对图像i6中的所有圆形进行随机排序并编号得到序列n,对序列n中第1个圆形进行边缘提取并计算轮廓s,同时通过图像i6灰度分布的梯度得到梯度方向的最大梯度值点即边缘所在位置,梯度方向计算公式如公式(2):
式中,lx和ly表示灰度值l在x和y方向的偏导,lxx和lyy表示灰度值l在x和y方向的二阶偏导,lxy表示灰度值l分别在x,y方向的偏导;
步骤7:i6[i+1][j]为步骤5所述图像i6中像素i6[i][j]的右方像素、i6[i][j-1]为像素i6[i][j]的下方像素和i6[i+1][j-1]为像素i6[i][j]的右下方像素,按照公式(3)用差值ch、cd和cv分别表达[i+1][j]、[i][j-1]和[i+1][j-1]到圆心为(xc,yc)、半径为
δ=ch-cv公式(4)
δ′=cv-cd公式(5)
步骤8:对步骤7中所述轮廓面积为s的圆形的下一个圆形进行边缘提取并获取轮廓面积,并判断本步骤所述圆形的轮廓面积是否大于值s1,当本步骤所述圆形的轮廓面积大于s1,则该圆内最佳逼近点像素置成数值255;当所述的轮廓面积不大于s1,则保留本步骤所述圆形;重复执行本步骤直到将步骤6中所述的序列n中所有的圆形操作完毕,得到图像i7;
步骤9:对步骤8中所述的图像i7进行形态学处理,得到图像i8,设定矩阈值m,由i统计平均值
附图说明
图1:算法流程图;
图2:含螺钉和划痕的金属表面原始图片;
图3:预处理以及自定义滤波后的图片;
图4:进行形态学处理后的图片;
图5:在原始图标记划痕位置的图片。
具体实施方式
经过二值化处理后的图像中含有金属高反射噪点以及螺钉噪声干扰等无用信息,通过自定义滤波以及螺钉去除方式将多条划痕所在位置在原始图像中同时标识出即为本发明所解决的问题。
本发明提供一种应用于含螺钉的金属表面多条划痕检测方法,该方法能够应用于包含螺钉的金属划痕检测中,步骤如下:
本发明涉及一种含螺钉的金属表面多条划痕检测方法,其特征是,包含步骤如下:
步骤1:启动用于对待检测金属投射光源的穹顶光源、用于图像采集的工业相机以及用于数据处理的软件平台,得到待检测金属原始图像i1;
步骤2:对步骤1中所述的待检测金属原始图像i1进行拷贝,得到待检测金属副本图像i2,对副本图像i2进行灰度处理、均值滤波处理和二值化处理,得到图像i3;
步骤3:定义[i][j]为图像矩阵中的第i行第j列,取i3[i][j]的8邻域大小为运算区域,将运算区域内的像素值按照升序排列并取中间像素值为a,将a写入新图像i4的i4[i][j]中;
步骤4:将步骤3中所述的运算区域从步骤2中所述的图像i3的第1行第1列开始,依次遍历,并按照步骤3中所述的方法依次对图像i3进行运算并得到图像i4,然后对图像i4进行轮廓提取;
步骤5:对步骤4中得到的图像i4中子图形的所有轮廓进行检索,并计算所有轮廓的轮廓面积,设定面积阈值s0,将所有轮廓面积低于面积阈值s0的轮廓去除,得到图像i5,图像i5按照公式(1)进行圆检测,得到包含若干圆形的图像i6;
rc=xc·cosθ+yc·sinθ公式(1)
步骤6:定义v为线段数量阈值,筛选步骤5所述图像i6中满足以点(xc,yc)为圆心、rc为半径的圆形,其条件为有超过v条长度为rc的线段通过点(xc,yc),对图像i6中的所有圆形进行随机排序并编号得到序列n,对序列n中第1个圆形进行边缘提取并计算轮廓s,同时通过图像i6灰度分布的梯度得到梯度方向的最大梯度值点即边缘所在位置,梯度方向计算公式如公式(2):
式中,lx和ly表示灰度值l在x和y方向的偏导,lxx和lyy表示灰度值l在x和y方向的二阶偏导,lxy表示灰度值l分别在x,y方向的偏导;
步骤7:i6[i+1][j]为步骤5所述图像i6中像素i6[i][j]的右方像素、i6[i][j-1]为像素i6[i][j]的下方像素和i6[i+1][j-1]为像素i6[i][j]的右下方像素,按照公式(3)用差值ch、cd和cv分别表达[i+1][j]、[i][j-1]和[i+1][j-1]到圆心为(xc,yc)、半径为
δ=ch-cv公式(4)
δ′=cv-cd公式(5)
步骤8:对步骤7中所述轮廓面积为s的圆形的下一个圆形进行边缘提取并获取轮廓面积,并判断本步骤所述圆形的轮廓面积是否大于值s1,当本步骤所述圆形的轮廓面积大于s1,则该圆内最佳逼近点像素置成数值255;当所述的轮廓面积不大于s1,则保留本步骤所述圆形;重复执行本步骤直到将步骤6中所述的序列n中所有的圆形操作完毕,得到图像i7;
步骤9:对步骤8中所述的图像i7进行形态学处理,得到图像i8,设定矩阈值m,由i统计平均值
本发明与现有的划痕检测最大的区别是:传统的划痕检测无法很好将噪声和划痕区别开,本发明提出改进滤波方法的同时加入螺钉去除算法,从根本上解决螺钉噪声的干扰,同时亦可检测出附于螺钉上的划痕。
综上所述,本发明所述划痕检测方法的优点是:
(1)较传统滤波方式更精准滤波;
(2)能够将螺钉和划痕分别识别,并独立去除螺钉;
(3)解决了传统图像去噪方法不能解决的复杂背景图像的去噪问题,准确提取划痕所在位置;
(4)多条划痕同时识别。
以上示意性的对本发明及其实施方式进行了描述,该描述没有局限性,附图中所示的也只是本发明的实施方式之一。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,采用其它形式的同类部件或其它形式的各部件布局方式,不经创造性的设计出与该技术方案相似的技术方案与实施例,均应属于本发明的保护范围。