高等级公路路面裂缝类病害轮廊提取的算法研究
算法实现的基本思想是:构造如图2所示的8方向模板,对图像进行逐点计算,并且取最大值作为该点的新的灰度值,该最大值对应模板所表示的方向为该像素点的边缘方向。
2.3 图像分割
该部分将经过8方向Sobel边缘检测的数字图像,进行图像分割(二值化)。考虑到需要对路面的病害图像作备份,同时也为了方便检测者了解裂缝的形状和走向,系统要提供直观的二值化图像,以供参考和进行后续的图像处理与测量工作。本文的图像分割算法选用由Ostu提出的最大类间方差法,该算法是在判决分析最小二乘法原理的基础上推导得出的[2]。
OSTU准则分割原理如下:
设一幅图像的灰度等级范围为[1,2,…L],对应灰度级i的像素为ni个,整幅图像的象素总个数N=n1+n2+…+nL,则对应灰度级i的像素出现的概率为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
整幅图像总的均值为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
若整幅图像以灰度级K及阈值,且分为C0与C1两类。其中C0类灰度级范围为[1,…K],C1类为[K+1,…L]。
这两类的方差分别为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
式中,Pr为在C0(或C1)类中灰度级i的象素出现的概率,u0和u1分别为C0和C1类的均值。
这样有w0u0+w1u1=ur成立,w0和w1分别为C0类和C1类的概率。在此OSTU定义类内方差:
javascript:window.open(this.src);" style="cursor:pointer;"/>
类间方差:
javascript:window.open(this.src);" style="cursor:pointer;"/>
javascript:window.open(this.src);" style="cursor:pointer;"/>
OSTU准则即:最优的阈值灰级K*满足下式:
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 实验分析
上面介绍了系统工作的硬件环境和算法实现的原理和方法。下面将通过对路面横向裂缝、纵向裂缝和不规则裂缝图像的实际处理,观察算法对裂缝类病害的识别能力。
图3示出本算法对实验环境下采集图像中的各类裂缝进行处理的结果。图3(a)、(b)、(c)是在硬件平台上采集的横向、纵向和不规则裂缝的样图;图3(d)、(e)、(f)是对样图进行噪声滤除、8方向Sobel边缘检测和图像分割(二值化)处理后得到的二值化图。由以上实验可以看出,本文提出的算法能对各类裂缝类病害进行较好的处理与识别,能够好地消除噪声的影响,裂缝轮廓清晰。
在实际的测试过程中,当物距为20cm,图像采集选用512×512像素的分辨率时,视场范围是11cm×11cm,CCD中像素分辨率为0.2mm。当物距为50cm时,视场范围是28cm×28cm,CCD像素分辨率为0.5mm。
javascript:window.open(this.src);" style="cursor:pointer;"/>
在Visual C++ 6.0开发环境下编制的这套图像处理和病害识别软件,采用模块化设计,具有方便、简洁的用户界面,系统易于开发、易于移植等特点。它可控制图像采集卡对图像进行实时监控、采集、显示和存储等操作,同时具有对路面裂缝类病害包括横向、纵向和不规则裂缝图像进行噪声滤波、边缘检测、图像分割和目标识别的功能。
由以上实验可以看出,本文提出的对高等级公路路面的裂缝类病害的轮廓进行提取的算法可以清晰的提出路面裂缝的轮廓,为后期的测量提供高质量的图像。