为了克服传统人工裂缝宽度检测方法耗时、耗力、危险、花费高等缺点,基于数字图像处理技术的裂缝检 测方法得到了迅速的发展.利用数字图像处理技术来测量结构物表面裂缝宽度是一种无损检测方法,如何 快速、直观、精确和便捷地得到裂缝信息是衡量检测方法好坏的标准回.本文介绍釆用MATLAB GUI界面 实现裂缝信息人机交互界面软件的设计,并给出最大、最小、平均裂缝宽度的算法.
1 MATLAB GUI 界面
GUI指有窗口、菜单、对话框等各种元素组成的交互式图形用户界面,在这种用户界面中,用户的操作 既简单,又生动,所以当今绝大多数开发环境与应用程序都釆用图形用户界面,许多流行的开发工具都可以 进行GUI界面的设计.MATLAB作为一门强的科学计算软件,同样也提供了 GUI用户界面设计的功能, 在MATLAB中,GUI用户界面对象主要包含三类:用户界面控件对象、下拉式菜单对象和快捷菜单..根据这 些对象,就可以设计出界面友好、操作方便的图形用户界面.
2裂缝图像分析
测量裂缝图像宽度思路的大体过程如图1所示.
2.1图像采集与标定
2.1.1图像的采集为了有效地提高裂缝宽度识别的准确性和可靠性,应釆用高像素的数码相机,使裂缝在 宽度方向上获得更多的像素.拍摄时,手持数码相机于裂缝与标定纸的正前方,尽量使裂缝处于屏幕中央
位置,且成竖直状态,釆用正焦(镜头垂直裂缝平面)进行拍摄减少畸变. 2.1.2相机标定实际对象和数字图像之间存在着缩放关系,我们需进行相机标定,相机标定是指求出对象 和数字图像像素比例系数的过程.本文所采用的方法是在需要被摄取的裂缝旁贴一标准长度为100 mm的 黑色纸条.采集图像后经过处理,可提取图像中黑色纸条在长度方向上的像素点个数,纸条的标准长度除 以像素点个数即得到一个像素所代表的宽度,然后再乘以裂缝的宽度像素就能计算出裂缝的实际宽度.如纸 条的长度是100 mm,像素点个数是1000个,那么一个像素所代表的实际宽度£>=100/1000=0.1 mm/pix四.
2.2灰度变换
在裂缝图像信息中含有大量的色彩信息,这不利于对裂缝图像的计算,因此首先我们把含有丰富色彩内 容的图像转化为由亮度表示的灰度图像.通常我们把灰度划分成256个级别,分别用数字0-255表示,0表 示最暗即黑色,255表示最亮即白色,介于之间就用余下的数字表示.这样每个像素就只剩下1个参数,1幅 图像就可以用1个二维矩阵表示.
2.3图像增强
图像平滑(Smoothing)主要目的是减少图像噪声.图像噪声来自于多方面,有来自系统外部的干扰(如电 磁波或经电源窜进系统内部的外部噪声),也有来自于系统内部的干扰(如摄像机的热噪声,电器机械运动而 产生的抖动噪声等内部噪声).实际获得的图像都因受到干扰而含有噪声,减少噪声的方法可以在空间域或 频率域处理,即:在空间域中进行时,基本方法就是求像素的平均值或中值;在频率域中则运用低通滤波技术. 2.4二值图像
二值化处理裂缝图像是本设计的核心技术.采用阈值化方法将灰度图像变换为二值图像,由于图像只 有黑和白2种颜色,就可以很好地将裂缝从背景中分离出来,从而提取出裂缝宽度等信息.
经过阈值化分割后的图像仍存在着图像噪声,其噪声表现形式很多,常见的为点状和小孔.这些噪声 会严重影响裂缝图像的质量和图像处理的精确度,因此,有必要经过形态学操作来抑制噪声.其中,膨胀和 腐蚀是两种基本的形态学操作,本文采用腐蚀处理来去除这些连接成分RL
2.5计算裂缝宽度的方法
图像经过上面步骤处理后,接下来就是处理裂缝宽度信息.本文采用的方法是对处理后的纵向图像再 进行裁剪,裁剪出标定物的区域和要测量裂缝的区域,通过对标定物的计算可以算出标定系数,通过MATLAB 的MAX、MIN、MEAN函数可以求得宽度像素总和的最大值、最小值和平均值,最后乘以标定系数,就可以得 到实际图像的最大、最小和平均裂缝宽度,若图像不是纵向可以进行相应的旋转即可.当裂缝较宽,且裂缝 边界清晰时,可以直接用鼠标手动点取边界上两点Li、),直线丄姦即为裂缝的像素宽度.计算L. (%|,力)、 ・以2,>2)之间的长度可得裂缝的像素宽度W=V 3-国2)2+(丸-?2)2,裂缝实际宽度用裂缝像素宽度乘以标定 系数即可冋.
3实例仿真
图2~5为设计的裂缝宽度测量的GUI界面,为了验证软件的实用性,通过7副实际的地砖裂缝图片来 验证.黑色纸带为100 mm,用于检测计算相机的标定系数.
4结论
从以上分析和测试可知,利用MATLAB软件设计的图像宽度测量的GUI界面可以很方便快捷地得到所 需的裂缝宽度数据,并且在二值图像的转换过程中可以根据处理结果的好坏修改阈值,若要得到细小的更加
精确的裂缝信息,只需要改变相应的裂缝宽度测量算法即可.因而此软件稍作修改就可以用于工程项目上 如桥梁、房屋墙体、混凝土路面等结构表面裂缝宽度的测量,具有一定的实用价值.