Sobel算子改进边缘检测算法在混凝土裂缝识别中的应用

时间:2022-10-07 07:30:04

Sobel算子改进边缘检测算法在混凝土裂缝识别中的应用

摘要摘要:大型建筑、道路及桥梁等表面裂缝问题是其安全性检测中不能回避的问题,传统的人工检测手段,不仅速度慢,其计算精度也有待提高,更重要的是对于不安全的位置,使用人工检测危险性高。针对该问题,提出基于Sobel算子的改进边缘检测算法对图像进行处理,能够准确识别混凝土表面裂缝的边缘。

关键词关键词:裂缝检测;边缘检测;Sobel算子

DOIDOI:10.11907/rjdk.162279

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2017)001011203

引言

2006年,伊兰[1]在图像增强中结合对比度增强、滤波和锐化等方法,在裂缝识别中使用梯度阈值提取边缘,使用最小距离法进行计算,以获得混凝土表面裂缝宽度。2011年,曾艳霞[2]在混凝土裂缝特征信息识别研究中提出对采集系统进行标定,得到图像中一个像素代表的实际物理长度。2014年,刘宇飞等[3]基于数字图像处理对混凝土表面裂缝进行识别,提出对采样图像进行背景减除以消除噪声,为了减少内部空腔造成的影响,对处理图像进行形态学闭运算,这样不仅将断裂的小边缘连接起来,还能够填充空腔。本文采用基于Sobel算子的改进边缘检测算法对混凝土表面裂缝进行检测,以达到更精确的效果。1裂缝边缘识别

1.1裂缝图像预处理

现场采集的图像是RGB彩色图像,在进行图像计算前需要将其转换成二位灰度图,并尽量去除图像背景中的噪声,以去除图像中不需要或妨碍边缘识别的信息,为后续处理作好准备。1.2裂缝边缘识别算法

基于Sobel算子的改进的边缘检测算法提取完成去噪图像中的裂缝边缘。Sobel算子对最靠近中心点的上下左右位置权值设为2,相邻行或列的其它位置权值设1,用中心像素上下或左右行或列的差值作为水平或垂直方向的梯度值。但是由于其主要对水平和垂直两个方向的边缘最为敏感,因此检测方向较为受限。这样处理的结果是,图像往往可以发现水平和垂直方向的边缘检测的较为明显,相比之下其它方向就没那么明显。对于现实图像中不确定的边缘方向,对不同方向设计对应的梯度模板,使其仅对该方向边缘最为敏感,这样就可以更精确检测相应方向的边缘。不同方向的模板就构成了方向匹配检测模板,用其中的每一个模板与图像分别卷积,最后计算出的梯度值最大的那个模板对应的方向就是该边缘点的方向。2015年,沈德海[4]提出一种多方向算子模板的边缘检测算法,该算法采用0°、22.5°、45°、67.5°、90°、112.5°、135°和157.5°等8个方向的算子模板来计算图像梯度。该算法检测效果虽然有较大提高,但是边缘出现了很多颗粒状像素,检测的边缘有些粗糙,仍旧不够细致、精确。有些边缘已经达到了单像素边缘,但大部分边缘仍然还不是单像素的。2015年,宋爽等[5]利用多个阈值进行边缘检测,提出连点画图的方法,在目标轮廓上作零星标记点,从一个标记点开始顺序邻接这些点,结合多阈值思想,这样就可以把目标轮廓精确细致地描绘出来。

本文改进算法对沈德海提出的5×5模板8方向检测算子处理后的图像进行再处理,因此着重改进的是对已获得的边缘进行再细化处理。由于模板8方向检测算子得到的边缘比经典Sobel算子处理结果更细,因此具体的边缘像素选择算法则不同于宋爽等提出的算法。采用水平、垂直、45°和135°等4个方向的 大小的卷积模板进行检测,同时对梯度图像采用局部标准差进行梯度增强,使得监测的边缘较为完整,细节较为丰富,连续性好。对于4个模板的权值分配问题,提出不同位置赋予不同权值,权值大小根据该位置的像素对中心点相应方向梯度值贡献大小来决定,也反映了该位置与距离模板中心的位置关系,距离最近的为4或-4,其次为2或-2,再次为1或-1,最远的为0。8方向边缘检测算子如图1所示。图1八方向梯度算子

为获取图像梯度,需要将这8个模板分别与图像进行卷积运算以获得模板中心点对应方向的梯度g0,g45,g90,g135,g22.5,g67.5,g112.5,g157.5,则中心点对应的梯度幅值MAG(x,y)计算公式如式(1):

MAG(x,y)=sqrt((g20+g245+g290+g2135+g222.5+g267.5+g2112.5+g2157.5)/10)(1)

根据像素水平方向梯度与垂直梯度的关系,将像素边缘类型分为水平边缘和垂直边缘,其中TAG(x,y)表示(x,y)处的边缘类型,分类公式如式(2):

(1)使用TH1模板8方向检测算子与图像进行模板运算,获得各方向梯度值,将这些梯度值的平方和开方,将其除以一个调节因子,以免开方后的梯度值过大超出范围,将开方结果作为模板中心点像素的梯度幅值。

(2)比较该像素点水平和垂直梯度值,注意这里要加绝对值比较,不然对由暗向明变化的边缘,由于模板总是下一行或者右一行减去上一行或者左一行,导致梯度值为负,直接比较则像素点的边缘方向就会被标记为与真实边缘方向相反,致使最后右侧或下侧边缘容易出现断点现象。水平梯度值大的标记像素为垂直边缘;反之,标记为水平边缘。

(3)设置第一个阈值TH1,对上述幅度值进行判断,若其幅值大于TH1,并且该点幅值大于其左右两像素幅值或者大于上下上袼胤值,则将其标记为边缘区域。

(4)设置第二个阈值TH2,在边缘区域,若像素为纵向边缘,并且左边像素属于边缘区域,则该像素梯度幅值减去左边像素梯度幅值大于TH2或者其右边像素属于边缘区域;如果该像素梯度幅值减去右边像素梯度幅值大于TH2,则将该像素标记为标兵点,同时标记为边缘。

(5)在边缘区域,若像素为横向边缘,并且上边像素属于边缘区域,则如果该像素梯度幅值减去上边像素梯度幅值大于TH2或者其下边像素属于边缘区域;如果该像素梯度幅值减去下边像素梯度幅值大于TH2,则将该像素标记为标兵点,同时标记为边缘。

(6)从标兵点开始连接边缘,若为纵向标兵点,则先向4-邻域上方走;若其4-邻域左右像素均在边缘区域,则标记其中幅值最大的那个作为边缘,并以其为下一轮判断起点;若左右像素只有一个属于边缘区域,则标记幅值大的那个像素为边缘,并以其为下一轮判断起点;若左右像素均不属于边缘区域,则将其标记为边缘,并以其为下一轮判断起点,循环结束的条件是检查的像素点不再属于边缘区域或者边缘类型变为横向或者已经被标记为边缘,向下走结束后回到该段起点,接着再往4-邻域上方走,展开同样的判断,循环结束后回到该段起点。

(7)若为横向标兵点,则先向4-邻域右方走;若其4-邻域上下像素均在边缘区域,则标记其中幅值最大的那个作为边缘,并以其为下一轮判断起点,若上下像素只有一个属于边缘区域,则标记幅值大的那个像素为边缘,并以其为下一轮判断起点;若上下像素均不属于边缘区域,则将其标记为边缘,并以其为下一轮判断起点,循环结束的条件是检查的像素点不再属于边缘区域或者边缘类型变为纵向或者已经被标记为边缘,向右走结束后回到该段起点,接着再往4-邻域左方走,展开同样的判断,循环结束后回到该段起点。

2改进算法的检测分析与结果

该改进算法实质上就是对经模板处理后的图像边缘进行剔除操作,若边缘是多像素宽度,则仅保留梯度幅值最大的那个像素作为边缘;若边缘已是单像素就直接保留为边缘,经过边缘“瘦身”后图像边缘不仅更平滑而且更为清晰。如图(2)所示,图2(a)表示只是用8方向模板检测裂缝边缘获得的边缘图像,对比图2(b)可以发现,改进后的算法检测的裂缝边缘去除了多于的边缘像素,对真实边缘进行了更准确的定位,去除了假边缘点对裂缝宽度计算的干扰,使得计算更贴近实际。

3结语

本文主要对混凝土表面裂缝进行有效识别,为计算裂缝长宽提供了更精确的方法。对于改进的边缘检测算法中两个阈值的确定,采用控制变量的思想,确定其中一个阈值,调节另外一个,观察图像边缘随阈值变化而变化的规律,最后在这些阈值中选择一个较为合适的配合作为参考,运用于图像处理,结果显示可以达到较好效果。

参考文献:

[1]伊兰.基于数字图像处理技术的混凝土表面裂缝特征测量和分析[D].南京:东南大学,2006.

[2]曾艳霞.混凝土裂缝特征信息识别研究[D].长沙:中南大学,2011.

[3]刘宇飞,樊建生,陶慕轩.基于数字图像处理的混凝土表面裂缝识别[J].建筑结构学报,2014,35(2):356361.

[4]沈德海,鄂旭,侯建等.基于Sobel的多方向算子模板缘检测算法[J].现代电子技术,2015,38(4):9197.

[5]宋爽,任洪娥,官俊.基于Sobel梯度模板的多阈值实时边缘检测方法[J].计算机工程与运用,2015,51(23):199202.

上一篇:菠萝叶提取物黏附漂浮微丸的制备及评价 下一篇:看见图画看不见的