基于MATLAB的影像建筑轮廓提取方法与实现
Extraction Method and Implementation of Image Building Contour Based on MATLAB
DOI: 10.12677/CSA.2021.116177, PDF, HTML, XML, 下载: 629  浏览: 1,232 
作者: 杨 剑:益阳高级技工学校,湖南 益阳
关键词: MATLAB影像建筑轮廓MATLAB Image Building Contour
摘要: 针对建筑轮廓提取问题,提出并实现了一种基于MATLAB的影像建筑轮廓自动提取方法。首先,对彩色影像进行阴影去除,将彩色影像转换为灰度影像,进行直方图均匀化以及中值滤波;其次,对中值滤波后的影像进行膨胀和腐蚀操作,通过对膨胀与腐蚀影像进行差分运算,进行地物边缘检测;最后,对边缘检测后的影像二值化处理,并完成建筑物特征点及其坐标的提取。通过实例验证表明,本文方法简洁可行,计算效率要高于深度学习提取建筑物的方法。
Abstract: Aiming at the problem of building contour extraction, an automatic extraction method of building contour based on MATLAB is proposed and implemented. Firstly, the shadow of the color image is removed, the color image is converted into gray image, histogram homogenization and median filtering are carried out; secondly, the image after median filtering is expanded and corroded, and the ground edge is detected by differential operation of the expansion and corrosion image; finally, the image after edge detection is binarized, and then the building feature points and their coordinates are extracted. The example shows that this method is simple and feasible, and the computational efficiency is much higher than the deep learning method.
文章引用:杨剑. 基于MATLAB的影像建筑轮廓提取方法与实现[J]. 计算机科学与应用, 2021, 11(6): 1717-1724. https://doi.org/10.12677/CSA.2021.116177

1. 引言

建筑物是监测城市变化和人类文明最重要的标志物之一,量化并准确描述建筑物的情况有助于了解其对社会、经济和基础建设发展的影响。及时准确地提取建筑物对有效管理城市、全面的城市规划和决策很重要。在发生自然灾害的情况下,及时获取建筑物信息也可以极大地帮助政府和公共机构评估其性质,范围和影响。该信息可用于评估由此造成的损失,并有效地计划、监控和管理救援和救济行动。由于建筑物对于城市建设、智慧城市系统更新、数字化城市以及军事侦察等方面的重要性,快速提取建筑物信息和进行建筑物变化检测在城市发展规划、电子信息化、国防等方面有着重要的应用 [1]。

建筑物信息提取一直是一个极具挑战的问题,在图像中人工建筑物信息的提取是个非常复杂的过程,往往不仅需要计算机的自动识别,还需要人的辅助来完成。从影像中提取建筑物的方法可分为人工、交互式和自动三种方式。人工目视解译是在图像上手工勾画出建筑物的外轮廓;交互式提取是采用人机交互的方式迭代地提取建筑物 [2];自动提取是利用计算机全自动提取建筑物。国内外关于影像建筑物自动提取方法可分为四类:基于模板匹配的方法、基于知识的方法、基于对象的方法和基于机器学习的方法 [1]。近年来,许多学者提出建筑物信息提取方法,如支持向量机方法 [3]、形态学建筑物指数法 [4]、深层卷积神经网络 [5]、LiDAR高程联合图割法 [6]、图像纹理特征联合图割法 [7] 等。

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人、控制系统等领域。软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境 [8]。MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。本文基于影像处理技术设计了一种建筑物轮廓特征点提取方法并采用MATLAB编程实现,可进行大规模快速自动提取建筑物信息,通过实例验证了其可行性。

2. 算法步骤

2.1. 技术路线

本文建筑物轮廓信息提取技术路线如图1所示。

Figure 1. Technical route of building contour feature points extraction

图1. 建筑物轮廓特征点提取技术路线

2.2. 阴影处理

阴影去除的实质是对彩色影像的RGB通道颜色值特定范围的像素,改变其灰度,达到阴影消除处理的目的。首先获取各样本阴影范围的RGB三个通道的灰度值,通常偏暗偏黑,实验发现阴影的RGB三个通道的灰度值同时小于阈值80,若对其增加另一个阈值70,则阴影区域灰度值改变,达到消除阴影的目的。阴影处理如式1所示:

r , g , b = r , g , b + 70 ( r , g , b < 80 ) (1)

2.3. 灰度转换

灰度转换将彩色影像转换为灰度影像,将影像数据由三维降低到一维,便于后续的影像处理。最简单的方法是平均法,即取RGB三个通道灰度的平均值作为灰度影像的灰度。另外还可采用加权平均法,RGB的加权系数分别为0.3,0.59,0.11,是根据人的亮度感知系统调节出来的参数,这是最常用的标准化参数,灰度转换如式2所示:

I = 0.3 r + 0.59 g + 0.11 b (2)

2.4. 直方图均衡化

如果一幅图像的灰度直方图覆盖了整个灰度的取值范围,并且除了个别灰度值的个数较为突出,整个灰度值分布近似于均匀分布,那么这幅图像就具有较大的灰度动态范围和较高的对比度,同时图像的细节更为丰富。数字影像的灰度分布范围应该是0~255,如果一幅图的灰度分布范围较窄,则其对比度通常不佳,通过某种变换算法将灰度分布至整个颜色空间,则可增强图像对比度。直方图均衡化(Histogram Equalization)是一种经典的增强数字图像对比度的方法,其主要思想是将一副图像的直方图分布,通过变换函数将其变成近似均匀分布,从而增强图像的对比度,直方图均衡化算法参见文献 [9]。

2.5. 中值滤波

无论是直接获取的灰度图像,还是由彩色图像转换得到的灰度图像,里面都有噪声的存在,噪声影响图像质量。噪声点通常是孤立离群的点,与相邻地物点不相容,会产生独立的边界。为了提高图像质量,消除噪声点,减少不必要的轮廓边界提取,影像滤波是一个必要的步骤,均值滤波器会导致影像模糊,因而通常采用中值滤波器对原图像进行平滑处理。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,把局部区域的像素按灰度等级进行排序,选择适当的点来替代污染点的值,取该领域中灰度的中值作为当前像素的灰度值,从而消除孤立的噪声点。其步骤为:将滤波模板(含有若干个奇数点的滑动窗口)在图像中漫游,并将模板中心与图中某个像素位置重合;读取模板中各对应像素的灰度值;将这些灰度值从小到大排列;取这一列数据的中间数据,将其赋给对应模板中心位置的像素。中值滤波采用非线性的方法,它适合平滑脉冲噪声和椒盐噪声,可以去除孤点噪声,保持图像的边缘特性,并且不会使图像产生显著的模糊。

2.6. 影像膨胀与腐蚀

膨胀运算与腐蚀运算是数学形态学影像处理的两个基本方法。设有两幅影像B,P,若P是被处理的对象,而较小影像B是用来处理P的,则称B为结构元素,或形象地称为刷子。影像膨胀与腐蚀操作,可以简单理解为膨胀求BP合集,腐蚀求BP交集。膨胀使用合并算法,将图像的边缘“加长变粗”扩大些,作用是将目标的边缘或内部的坑填掉。腐蚀使用减算法,将图像的边缘腐蚀掉,作用是将目标的边缘的“毛刺”削除。膨胀运算与腐蚀运算分别如式3、式4所示 [10]。

P B S = { x , y | B x y s P = } (3)

P B S = { x , y | B x y P } (4)

2.7. 差分边缘检测

边缘的类型多样,建筑物轮廓主要是阶跃型边缘,阶跃型边缘定位于其一阶导数的局部极值点,因此可以采用图像的一阶导数(即梯度)进行边缘检测。常用的梯度算子有Roberts算子、Prewitt算子、Sobel算子 [11] 等,通常可以根据图像特征选择合适的梯度算子进行检测。本文采用灰度影像的数学形态学边缘检测算子,首先设计一个结构体算子,通过反复试验得到合适的算子大小为3 × 3,循环次数为1的时候效果最佳。增大算子或者增加算子的循环次数会使检测到的边缘加粗,从而影响边緣检测的精度。然后应用该算子先对原影像进行数学形态学膨胀操作,得到膨胀图像;再进行腐蚀操作,得到腐蚀图像。最后将膨胀图像与腐蚀图像进行“减”运算,并对差值取绝对值以避免负值现象,即可以得到边缘检测图像。

2.8. 图像二值化

得到经过去除干扰因素(阴影、植被)的边缘检测图像后,进行梯度图像的阈值化处理。借助直方图分析和人机交互的方式确定合适的阈值,可以发现目标物体(即前景)和背景内部的点低于阈值,而大多数边缘点高于阈值。然后将低于该阈值的像元赋值为0,而高于该阈值的像元(即边缘像元)赋值为1,这样可以得到黑白翻转后的二值化图像,从而突出建筑物的影像轮廓。

2.9. 建筑特征点及其坐标提取

二值化图像中灰度值为1就是建筑特征点,记录其行列位置信息即为其坐标,可通过影像内定向转换为地理坐标,并将坐标保存到文件从而获得区域建筑物的轮廓信息。

3. 实验

采用MATLAB编制实现了第2节中的算法流程,并进行建筑轮廓提取实验。实验数据取自某地区余家村佑塘202122号影像,该影像为506 × 637像素的RGB彩色影像,影像中有植被、空地、道路、各种形状高度和不同颜色的建筑,区域内建筑物数量众多,屋顶颜色深浅不一,轮廓形状具有代表性,光照均匀,阴影较少,可视情况良好,如图2(a)所示。为了消除阴影区域与周边地区的明显分界线,对影像的RGB各通道进行阴影范围的调整,阴影范围的阈值通过测试确定,使阴影淡化和消除的效果达到最佳,去除阴影后的影像如图2(b)所示:

(a) (b)

Figure 2. (a) Original image of yujiacunyoutang; (b) Shadow removed image

图2. (a) 余家村佑塘原始影像;(b) 去除阴影后的影像

余家村佑塘202122号灰度影像如图3(a)所示;直方图均衡化后的影像对比度得到明显加强,如图3(b)所示:

(a) (b)

Figure 3. (a) Grayscale image of Yujiacunyoutang; (b) Image after histogram equalization

图3. (a) 余家村佑塘灰度影像;(b) 直方图均衡化后的影像

中值滤波采用3 × 3模板,图像平滑处理后,图像噪声和个别孤立点已去除,如图4所示:

Figure 4. Image after median filtering processing

图4. 中值滤波处理后的图像

数学形态学影像处理采用3 × 3二维全1结构元素,膨胀和腐蚀后的图像分别如图5(a)、图5(b)所示:

(a) (b)

Figure 5. (a) Image after expansion; (b) Image after corrosion

图5. (a) 膨胀后图像;(b) 腐蚀后图像

边缘检测图像及二值化图像(二值化阈值参数为0.4)分别如图6(a)、图6(b)所示:

(a) (b)

Figure 6. (a) Edge detection image; (b) Binary image

图6. (a) 边缘检测图像;(b) 二值化图像

图6显示,本文方法可以有效准确地检测到建筑物轮廓信息,并且可以较好地抑止噪声。二值化后得到的图像可以逐一读取特征点并获取像素的坐标,并以自定义的坐标系确定每个特征点的位置坐标,最后通过TXT文件输出。

本文方法在MATLAB实验环境下编程实现,可进行建筑物轮廓边界检测,检测正确率达90%以上。实验影像分辨率为506 × 637,程序从读入影像到边界轮廓提取完毕不足10秒钟,相比深度学习建筑物检测方法数小时训练具有更高的计算效率。

4. 结论

建筑物轮廓的大批量提取需要较高的效率,本文基于MATLAB提出建筑轮廓快捷算法并编程实现,实验表明其可行性,可获取影像建筑物轮廓边界坐标,方法的优点在于:计算速度快捷、计算效率高;可以减弱光照与阴影变化的影响,寻找出较为准确的建筑轮廓和拐角点,所提取的边界能够准确反映建筑物的外形;只需要高清影像,不需要使用高程及回波强度等信息,在实践中具有一定的优势。

参考文献

[1] 刘舸. 基于深度学习与图割法的遥感影像建筑物提取方法研究[D]: [硕士学位论文]. 长沙: 长沙理工大学, 2020.
[2] 胡艳. 高分辨率遥感影像典型地物交互式提取研究[D]: [硕士学位论文]. 西安: 西安科技大学, 2018.
[3] Huang, X. and Zhang, L. (2013) An SVM Ensemble Approach Combining Spectral, Structural, and Seman-tic Features for the Classification of High-Resolution Remotely Sensed Imagery. IEEE Transactions on Geoscience and Remote Sensing, 51, 257-272.
https://doi.org/10.1109/TGRS.2012.2202912
[4] 林祥国, 张继贤. 面向对象的形态学建筑物指数及其高分辨率遥感影像建筑物提取应用[J]. 测绘学报, 2017, 46(6): 724-733.
[5] 伍广明, 陈奇, Ryosuke SHIBASAKI, 等. 基于U型卷积神经网络的航空影像建筑物检测[J]. 测绘学报, 2018, 47(6): 864-872.
[6] 杜守基, 邹峥嵘, 张云生, 等. 融合LiDAR点云与正射影像的建筑物图割优化提取方法[J]. 测绘学报, 2018, 47(4): 519-527.
[7] 杨章静, 钱建军, 黄璞, 等. 基于Gabor变换的GrabCut纹理图像分割[J]. 控制与决策, 2016, 31(1): 149-154.
[8] 刘卫国. MATLAB程序设计与应用[M]. 第二版. 北京: 高等教育出版社, 2015.
[9] 韩少刚. 基于多直方图均衡的图像增强算法研究[D]: [硕士学位论文]. 安庆: 安庆师范大学, 2020.
[10] 邢承滨. 机载LiDAR非地面点云的表面与区域滤波算法研究[D]: [硕士学位论文]. 长沙: 长沙理工大学, 2020.
[11] Dong, Y.B., Li, M.J. and Wang, H.Y. (2014) Research on Edge Detection Technology. Advanced Materials Research, 860-863, 2884-2887.
https://doi.org/10.4028/www.scientific.net/AMR.860-863.2884