APP下载

基于MATLAB的道路信息自动化提取方法研究

2019-10-30申兰兰

城市勘测 2019年5期
关键词:算子灰度边缘

申兰兰

(乌鲁木齐市城市勘察测绘院,新疆维吾尔自治区 乌鲁木齐 830000)

1 引 言

自动提取DOM的道路信息要求计算机能通过相应的算法或规则代替人眼进行道路信息识别。MATLAB是一种直观简洁的编程软件,可以实现多种图形图像处理技术,结合各种图像处理算子可以实现道路信息的自动化提取。以MATLAB软件为平台,把乌鲁木齐市某区DOM进行图像预处理增强其对比度,再用Canny边缘检测算子和LoG(高斯拉普拉斯)边缘检测算子提取道路边线,并对提取结果对比分析选出合适的边缘检测算子,通过对象移除算法以及图像的基本运算实现道路信息的叠加形成道路网,这些步骤都通过编写代码完成,应用的时候不需要人工干预。

2 图像预处理

2.1 线性拉伸

道路信息和其他地物信息总会有灰度色彩相似的情况,这样会使计算机很难分辨出哪些是道路信息哪些是非道路信息。增强道路和其他地物的对比度可以使道路信息提取工作更容易。可以通过增强灰度值或色图来调整对比度。

在MATLAB中,imadjust函数可以达到通过线性灰度调整来增强对比度的效果[1]。用法如下:A=imadjust(B,[0.15 0.9],[0 1]),这表示灰度值0.15以下与0.9以上的值映射到[0 1]范围当中。原始DOM如图1所示,线性变换实验结果如图2所示。

图1 原始DOM

图2 线性拉伸效果图

2.2 锐化增强

锐化增强本质上是用对图像进行卷积滤波处理的方法使图像的亮度增强,而且不会改变专题信息,是一种很好的图像增强方法。锐化增强可以通过一些算子来实现,Laplacian算子是线性二次微分算子,它有旋转不变性,能够符合不同方向的图像边界的锐化要求[2]。在MATLAB中其用法为H=fspecial(’laplacian’),结果如图3所示。

图3 Laplacian算子锐化图像

3 DOM道路边缘提取

3.1 图像的格式转换

在MATLAB中道路边缘提取算法的实现需要借助edge函数,运用edge函数时对象是灰度或者二值化图像,所以原始图像要转换成二值图像或者灰度图像。本次研究的对象是DOM,属于真彩色图像,在MATLAB中可以用G=rgb2gray(J)将命名为J的真彩色DOM转为灰度图像G。

3.2 Canny算子边缘检测

Canny算子可以实现边缘检测功能,Canny 的目标是找到一个最优的边缘检测算法,即最优检测、最优定位准则,检测点与边缘点一一对应。Canny边缘检测算法可以分为以下5个步骤:①去除噪声,②找寻图像的强度梯度,③消除边误检,④应用双阈值的方法来决定可能的(潜在的)边界,⑤利用滞后技术来跟踪边界。在MATLAB中,edge(I,’Canny’)表示用Canny算子进行边缘信息提取,如图4所示。

图4 Canny算子边缘提取

3.3 道路图像后续处理

(1)对象移除法去除噪声

由图4可见边缘提取后有很多非道路信息,这些非道路信息的特点是相比道路边缘信息特别零碎,所以可以用对象移除算法来删除非道路信息。对象移除算法用法为K22=bwareaopen(K,50),表示删除图像K中面积比50小的元素,即删除零碎的非道路信息,如图5所示。

图5 对象移除

(2)数学形态学去除噪声

由图5可知道路信息经过对象移除后还有很多细小的非道路信息,为了去除这些非道路信息,需要进一步处理,这就要借助数学形态学来实现。

数学形态学的基本思路是针对像素间的逻辑关系对数字图像进行分析[4]。去除非道路信息要用到数学形态学中的开运算,开运算是先删除目标的边界点使像素变小,再把所有与目标相接触的信息点合并到目标中的过程。开运算会删除细小目标,并且平滑边界时基本不会改变面积,平滑图像轮廓的同时,会消除狭窄的部分,删掉细的突出[4]。在MATLAB中imopen函数用来实现开运算,用法如下:K2=imopen(F,B),通过设置B的值实现不同道路方向的开运算,在一个道路网中道路方向不止一个,所以开运算修剪需要多次循环完成。例如B=strel(’line’,2,90)是针对竖直方向运算,结果如图6所示:

图6 竖直方向开运算修剪

(3)叠加道路信息

在每个道路方向上经过开运算与对象移除遍历后,通过图像基本运算中的加法运算把不同道路方向上的信息叠加起来就得到完整的道路信息。加法运算是对不同的图像中的相同元素求平均。在MATLAB中,Z=imadd(K1,K22)就可以实现这个功能,它表示将图像K1和K22中对应的元素相加并将值返回到Z中,结果如图7所示。

图7 Canny算子边缘检测道路叠加成果

4 Canny算子与LoG算子对比分析

为了验证用MATLAB软件平台对道路信息进行提取的有效性并择优选取边缘检测算子,对LoG算子也做了同样的边缘检测实验。LoG算子是指在做Laplacian算子边缘处理之前对图像做平滑处理,通常用高斯滤波器。把高斯平滑滤波器和Laplacian锐化滤波器一起应用,先消除噪声,之后边缘检测[4]。LoG算子边缘检测结果如图8所示:

图8 LoG算子边缘检测道路叠加成果

由图7和图8可得,LoG算子边缘检测的成果比Canny算子边缘检测成果的对比度强,但是从细节上看南边有些道路边缘信息丢失较多,而Canny算子边缘信息更加完整,为了保证道路边缘信息的完整性使用Canny算子进行边缘检测较好。

5 Ecognition提取道路信息成果

用Ecognition软件实现道路信息提取需要自己根据影像的色调、形状、纹理、层次制定规则,要经过很多步骤,本文展示了道路信息提取过程中的第一步成果(图9)、中间成果(图10)、最终成果(图11)截图。由图9可以看出,其优点是提取出的道路边缘连续,缺点是有些道路边缘无法提取出来,想要得到完整的道路网(如图10),需要再详细制定多个规则,而路网提取完整了又会出现很多多余的边线,需要再制定规则剔除(如图11),人工干预量大。

图9 Ecognition道路信息提取成果

图10 Ecognition道路信息提取成果

图11 Ecognition道路信息提取成果

6 结 语

用MATLAB自动化提取的道路信息与用Ecognition提取的道路信息相比可知,Ecognition提取优点是道路边线具有连续性,缺点是不够完整,而且需要专业人士进行人工干预,费时费力;MATLAB提取优点是道路网完整,道路信息提取及处理步骤都能通过编写代码组合而成,客户端应用过程中只需要选择影像路径,其他步骤无须人工干预,操作简单,缺点是道路边缘连续性不够好。

综上所述,在实现无人工干预的道路信息自动化提取方面,MATLAB比较有先进性,提取成果也可以满足道路网完整的需求,并且今后也可以对道路信息提取的连续性做研究。除此之外,为了使道路信息提取质量更高应用更广泛,还有很多方面有待研究,例如更深层次的剔除细小噪声,将提取到的道路信息转换为工程领域常用到的通用dwg格式并且保留坐标信息等。

猜你喜欢

算子灰度边缘
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
一类截断Hankel算子的复对称性
采用改进导重法的拓扑结构灰度单元过滤技术
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我