渗透算法和自适应Canny算法相融合的表面裂纹纹理的提取方法与流程

文档序号:12272291阅读:516来源:国知局
渗透算法和自适应Canny算法相融合的表面裂纹纹理的提取方法与流程

本发明涉及一种裂纹纹理的提取方法,具体地说是一种渗透算法和自适应Canny算法相融合的裂纹纹理的提取方法。



背景技术:

如今,通过分析图像获取信息的应用越来越多,对还原图像特征真实性的要求越来越高,即在处理过程中尽可能多的保留图像的物理特征,为提取分析图像中的细节信息提供可靠的信源。以表面裂纹分析为例,在图像处理过程中保留裂纹的连通性、裂纹边缘细节、边缘细小分叉毛刺、裂纹轨迹的走向等物理特征,还原裂纹的真实性,对后续的裂纹纹理等细节分析和裂纹成因分析具有重要意义,有助于防范裂纹的形成,提高产品生产、使用的安全性。

随着计算机运算速度不断加快,对计算机处理能力有极强依赖性的数字图像处理技术也在快速发展。近年来国内外学者对图像处理技术做了大量学习研究,在裂纹检测领域也获得长远发展,很多基于图像处理技术的裂纹检测算法相继出现,并取得了一定的成效。例如基于Sobel算子的检测方法,基于小波变换的裂纹检测方法,基于神经网络的裂纹检测方法,基于裂纹显著性的检测方法,基于Canny算子的裂纹检测方法等。其中,基于Canny算子的裂纹检测算法是应用最为广泛的,原因在于其算法基础简单,并且具有优秀的边缘定位能力,能保留更多的边缘细节,这些信息对裂纹的分析判断是是非常重要的。但Canny算子也存在一些问题:1)由于算法保证了检测的精确度,检测过程中存在漏判现象,导致检测到的裂纹中存在中断现象,不能保持原裂纹的连通性;2)由于存在误判现象,裂纹边缘的检测中存在单边检测现象。一种渗透算法利用了裂纹的连通性,获取的裂纹图像保持了裂纹的连续性,减少了裂纹中断现象。但渗透算法将边缘的细小毛刺腐蚀掉,裂纹的边缘较平缓,不能保留更多裂纹边缘信息。

以上检测算法虽然取得了一定的成效,但在应用过程中将分别面临两个问题:1)保持了裂纹的连通性,但裂纹边缘定位不准;2)保留了更多的裂纹边缘信息,但裂纹的连续性不够。



技术实现要素:

本发明要解决的技术问题是提供一种对裂纹还原真实性好,采用渗透算法和自适应Canny算子相融合的表面裂纹纹理的提取方法。

为了解决上述技术问题,本发明采取以下技术方案:

一种渗透算法和自适应Canny算法相融合的裂纹纹理的提取方法,包括以下步骤:

S1,获取表面裂纹图像,对该表面裂纹图像进行预处理,该预处理包括对图像的平滑和去噪处理;

S2,采用自适应Canny算子对预处理后的表面裂纹图像进行边缘检测得到裂纹的边缘图像,对该裂纹的边缘图像进行二值化操作得到裂纹区域的二值图,将该裂纹区域的二值图标记为第一个裂纹图像;

S3,采用渗透算法对经预处理后的表面裂纹图像进行处理,得到裂纹区域的二值图,将该裂纹区域的二值图标记为第二个裂纹图像;

S4,通过小波变换提取第一个裂纹图像的低频分量和高频分量,以及第二个裂纹图像的低频分量和高频分量;

S5,将提取到的第一个裂纹图像的低频分量和第二个裂纹图像的低频分量叠加,获得融合后的低频部分,将提取到的第一个裂纹图像的高频分量和第二个裂纹图像的高频分量叠加,获得融合后的高频部分;

S6,根据融合后的低频部分和高频部分,经过小波逆变换得到重构图像,该重构图像即为融合后的裂纹图像。

将第一个裂纹图像的低频和高频分量分别标记为gLA[f(x,y)]和gHA[f(x,y)],将第二个裂纹图像的低频和高频分量分别标记为gLB[f(x,y)]和gHB[f(x,y)],其中f(x,y)为裂纹图像,(x,y)表示数字图像点坐标;

按照以下融合公式进行高频分量和低频分量的融合:

所述步骤S2中利用自适应Canny算子对表面裂纹图像处理时先通过高斯滤波器进行处理,该高斯滤波器为:

上式中,高斯平滑函数G(x,y)表示对图像平滑后的结果x表示像素点的横坐标,y表示像素点的纵坐标,参数σ按照以下方法进行选取;

S2.1,将高斯滤波器的窗口设定为3×3大小,当前像素点灰度值为f(i,j),高斯滤波器窗口内灰度均值为表面裂纹图像中的像素点划分为:裂纹边缘点、平滑区域内的点和孤立噪声点;

S2.2,对于平滑区域内的点,采用公式计算得到σ值;

S2.3,对于裂纹边缘点,设定f(i-1,j-1)为非边缘点,则按照以下公式

计算得到σ值;

S2.4,对于孤立噪声点,根据以下公式计算得到σ值,

S2.5,将计算得到的σ值代入高斯滤波器中,实现高斯滤波器的自适应性;

然后再进行裂纹边缘连接处理,具体为:

S2.6,设定边缘连接高阈值T1和低阈值T2,经过非极大值抑制后,统计疑似边缘点,得到梯度直方图H(k,l),

S2.7,将梯度直方图H(k,l)中梯度值大于T1的点定义为绝对边缘点,并将该绝对边缘点作为边缘连接的起始点;

S2.8,选择其中一个绝对边缘点作为当前绝对边缘点,在当前绝对边缘点的8邻域范围内判断是否存在其他绝对边缘点,若存在其他绝对边缘点,则将其他绝对边缘点作为边缘点连接;如果没有其他绝对边缘点存在,则判断当前绝对边缘点的8邻域内是否存在梯度值大于T2的点,若存在,则将该梯度值大于T2的点标记为边缘点连接;

S2.9,当前绝对边缘点的8邻域内所有的点处理完之后,继续选择另外一个绝对边缘点,转到步骤S2.8,直到所有绝对边缘点处理完毕,结束裂纹边缘连接过程。

所述高阈值T1和低阈值T2采用最大类间方差法获取,具体为:

设梯度直方图H(k,l)的梯度级为S,则H(k,l)取值为[0,S-1],用阈值f将梯度直方图H(k,l)分为绝对边缘与非绝对边缘,其中梯度直方图H(k,l)中大于f的部分为绝对边缘,梯度直方图H(k,l)中小于等于f的部分为非绝对边缘,设非绝对边缘占梯度直方图比例为ω1,非绝对边缘的梯度直方图均值为μ1,绝对边缘占梯度直方图的比例为ω2,绝对边缘的梯度直方图均值为μ2,梯度直方图均值为μ,令

τ为类间方差值,当τ取最大值时图像中裂纹与背景的分离效果最好,设梯度直方图在区间[0,S-1]内m=a时,τ最大,此时高阈值T1=a,然后以该T1为界,取梯度直方图H(k,l)的前T1-1级,令该部分的梯度直方图为H1(k,l),设该梯度直方图H1(k,l) 在区间[0,T1-1]内m=b时,τ取最大值,此时低阈值T2=b。

所述步骤S3采用渗透算法处理时具体包括:

S3.1,首先,初始窗口设置为N×N大小,最大窗口设置为M×M大小,设置初始窗口的中心像素点为渗透开始的种子点,并且该点属于Dp,该点的亮度设置为初始亮度阈值T,Dp为渗透区域;

S3.2,亮度阈值由以下公式更新:

其中,I(p)为ps的亮度,ps为当前窗口的中心像素点,T为亮度阈值,w为渗透速度参数,Dp为渗透区域,Dc为渗透区域的邻域;

S3.3,设Dc为Dp的8邻域,逐次判断Dc内的像素点的I(p)与当前亮度阈值T之间的关系,若I(p)小于当前亮度阈值T,则该点像素值设为255,否则该点像素值设为0,Dc为渗透区域Dp的邻域;

S3.4,当Dp检索到当前窗口N×N的边界,渗透过程转向步骤S3.5,并且N递增为N+2,否则,渗透过程返回步骤S3.2;

S3.5,采用由步骤S3.2中的公式对当前亮度阈值T进行更新;

S3.6,在渗透区域Dp的邻域Dc内,亮度小于当前亮度阈值T的像素点归属到渗透区域Dp;如果Dc内亮度没有小于当前亮度阈值T的点,渗透过程终止;

S3.7,若渗透区域Dp到达当前窗口N×N的边界,N递增为N+2;若渗透区域Dp未到达当前窗口N×N的边界,则返回S3.5;

S3.8,如果N>M,结束渗透过程;如果N小于或者等于M,则返回S3.5。

本发明利用自适应Canny算子和渗透算法相结合,首先用这两种算法分别检测裂纹,通过融合算法将两者的检测结果叠加在一起重构为裂纹图像。将自适应Canny算子和渗透算子的优点融合在一起,能够保留更多的裂纹边缘信息,并且裂纹图像中不存在中断点和单边检测现象,后续对裂纹纹理、裂纹形成机理的分析提供了更可靠的裂纹图像。可用于产品外观质量检测流水线中,有效提高检测效率,节约时间,降低人力成本。

附图说明

附图1为本发明流程示意图;

附图2为低压电流互感器表面灰度图原图像;

附图3为经过自适应Canny算子处理提取到的裂纹边缘图;

附图4为经过自适应Canny算子处理后,接着进行阈值处理得到裂纹二值图;

附图5为经过渗透算法提取的裂纹二值图;

附图6为Canny算子二值化图像小波变换提取的低频部分;

附图7为Canny算子二值化图像小波变换提取的高频部分;

附图8为渗透算子二值化图像小波变换提取的低频部分;

附图9为渗透算子二值化图像小波变换提取的高频部分;

附图10为低频部分融合后的图像;

附图11为高频部分融合后的图像;

附图12融合后经过小波逆变换得到的裂纹图像。

具体实施方式

为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述。

如附图1所示,本发明揭示了一种可应用于各类型产品表面裂纹纹理,渗透算法和自适应Canny算法相融合的裂纹纹理的提取方法,下面以低压电流互感器表面裂纹图像为对象进行具体说明。包括以下步骤:

S1,获取表面裂纹图像,对该表面裂纹图像进行预处理,该预处理包括对图像的平滑和去噪处理。可通过工业相机或者其他扫描设备对待检测产品进行表面采样。如本实施例中,对低压电流互感器表面裂纹进行提取,如附图2所示,提取得到的表面裂纹图像。

S2,采用自适应Canny算子对预处理后的表面裂纹图像进行边缘检测得到裂纹的边缘图像,对该裂纹的边缘图像进行二值化操作得到裂纹区域的二值图,将该裂纹区域的二值图标记为第一个裂纹图像,如图3和4所示。

S3,采用渗透算法对经预处理后的表面裂纹图像进行处理,得到裂纹区域的二值图,将该裂纹区域的二值图标记为第二个裂纹图像,如图5所示。

S4,通过小波变换提取第一个裂纹图像的低频分量和高频分量,如图6和7所示,为通过Canny算子为基础处理得到的第一个裂纹图像的低频分量和高频分量,第一个裂纹图像的低频和高频分量分别标记为gLA[f(x,y)]和gHA[f(x,y)]。而图8和9所示,则是以渗透算法为基础处理得到的第二个裂纹图像的低频分量和高频分量。第二个裂纹图像的低频和高频分量分别标记为gLB[f(x,y)]和gHB[f(x,y)],其中f(x,y)为裂纹图像,(x,y)表示数字图像点坐标。

S5,将提取到的第一个裂纹图像的低频分量和第二个裂纹图像的低频分量叠加,获得融合后的低频部分,如附图10所示;将提取到的第一个裂纹图像的高频分量和第二个裂纹图像的高频分量叠加,获得融合后的高频部分,如附图11所示。按照公式:进行高频分量和低频分量的叠加。

S6,根据融合后的低频部分和高频部分,经过小波逆变换得到重构图像,该重构图像即为融合后的裂纹图像,如附图12所示,为最终融合后的裂纹图像,真实性更好。

所述步骤S2中利用自适应Canny算子对表面裂纹图像处理时先通过高斯滤波器进行处理,该高斯滤波器为:

上式中,高斯平滑函数G(x,y)表示对图像平滑后的结果,x表示像素点的横坐标,y表示像素点的纵坐标,参数σ按照以下方法进行选取;

S2.1,将高斯滤波器的窗口设定为3×3大小,当前像素点灰度值为f(i,j),高斯滤波器窗口内灰度均值为表面裂纹图像中的像素点划分为3类:裂纹边缘点、平滑区域内的点和孤立噪声点;

S2.2,对于平滑区域内的点,平滑区域内各点像素值相差很小,因此高斯滤波器窗口内平均像素值与当前像素点灰度值几乎相等,采用公式计算得到σ值,该σ值较小。

S2.3,对于裂纹边缘点,由于裂纹的边缘是连续的,高斯滤波器窗口内至少存在3个边缘点,设定f(i-1,j-1)为非边缘点,则按照以下公式计算得到σ值,该σ值较小。

S2.4,对于孤立噪声点,根据以下公式计算得到σ值,

通过该公式得到的σ值较大。

S2.5,将计算得到的σ值代入高斯滤波器中,实现高斯滤波器的自适应性。在整幅图像中,平滑区域和裂纹的边缘点的σ值很小,滤波对该区域的影响很小,裂纹边缘得到保留。对于孤立的噪声点,σ值较大,滤波后噪声点被去除。

然后再进行裂纹边缘连接处理,具体为:

S2.6,设定边缘连接高阈值T1和低阈值T2,经过非极大值抑制后,统计疑似边缘点,得到梯度直方图H(k,l),

S2.7,将梯度直方图H(k,l)中梯度值大于T1的点定义为绝对边缘点,并将该绝对边缘点作为边缘连接的起始点;

S2.8,选择其中一个绝对边缘点作为当前绝对边缘点,在当前绝对边缘点的8邻域范围内判断是否存在其他绝对边缘点,若存在其他绝对边缘点,则将其他绝对边缘点作为边缘点连接;如果没有其他绝对边缘点存在,则判断当前绝对边缘点的8邻域内是否存在梯度值大于T2的点,若存在,则将该梯度值大于T2的点标记为边缘点连接;

S2.9,当前绝对边缘点的8邻域内所有的点处理完之后,继续选择另外一个绝对边缘点,转到步骤S2.8,直到所有绝对边缘点处理完毕,结束裂纹边缘连接过程。

所述高阈值T1和低阈值T2采用最大类间方差法获取,具体为:

设梯度直方图H(k,l)的梯度级为S,则H(k,l)取值为[0,S-1],用阈值f将梯度直方图H(k,l)分为绝对边缘与非绝对边缘,其中梯度直方图H(k,l)中大于f的部分为绝对边缘,梯度直方图H(k,l)中小于等于f的部分为非绝对边缘,设非绝对边缘占梯度直方图比例为ω1,非绝对边缘的梯度直方图均值为μ1,绝对边缘占梯度直方图的比例为ω2,绝对边缘的梯度直方图均值为μ2,梯度直方图均值为μ,令

τ为类间方差值,当τ取最大值时图像中裂纹与背景的分离效果最好,设梯度直方图在区间[0,S-1]内m=a时,τ最大,此时高阈值T1=a,然后以该T1为界,取梯度直方图H(k,l)的前T1-1级,令该部分的梯度直方图为H1(k,l),设该梯度直方图H1(k,l)在区间[0,T1-1]内m=b时,τ取最大值,此时低阈值T2=b。从而通过自适应双门值限定,实现边缘裂纹的更好获取。

所述步骤S3采用渗透算法处理时具体包括:

S3.1,首先,初始窗口设置为N×N大小,最大窗口设置为M×M大小,设置初始窗口的中心像素点为渗透开始的种子点,并且该点属于Dp,该点的亮度设置为初始亮度阈值T,Dp为渗透区域。

S3.2,亮度阈值由以下公式更新:

其中,I(p)为ps的亮度,ps为当前窗口的中心像素点,T为亮度阈值,w为渗透速度参数,Dp为渗透区域,Dc为渗透区域的邻域。

S3.3,设Dc为Dp的8邻域,逐次判断Dc内的像素点的I(p)与当前亮度阈值T之间的关系,若I(p)小于当前亮度阈值T,则该点像素值设为255,否则该点像素值设为0,Dc为渗透区域Dp的邻域。

S3.4,当Dp检索到当前窗口N×N的边界,渗透过程转向步骤S3.5,并且N递增为N+2,否则,渗透过程返回步骤S3.2。

S3.5,采用由步骤S3.2中的公式对当前亮度阈值T进行更新。

S3.6,在渗透区域Dp的邻域Dc内,亮度小于当前亮度阈值T的像素点归属到渗透区域Dp;如果Dc内亮度没有小于当前亮度阈值T的点,渗透过程终止。

S3.7,若渗透区域Dp到达当前窗口N×N的边界,N递增为N+2;若渗透区域Dp未到达当前窗口N×N的边界,则返回S3.5;

S3.8,如果N>M,结束渗透过程;如果N小于或者等于M,则返回S3.5。

需要说明的是,以上所述并非是对本发明技术方案的限定,在不脱离本发明的创造构思的前提下,任何显而易见的替换均在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1