基于漫水填充算法提取太湖水边线研究

2021-05-19 04:03王伟轩
水科学与工程技术 2021年2期
关键词:边线邻域像素点

王伟轩

(西北有色勘测工程有限责任公司珠海分公司,广东 珠海519000)

遥感影像是可以通过对地表摄影或扫描获得,分为光学成像和扫描影像。 遥感可获取大范围数据资料,获取信息的速度快、周期短,而且获取信息还具有受条件限制少、手段多、信息量大等优点。 随着遥感技术的发展, 人们开始利用遥感技术对水资源进行监测保护、水边线提取等。高分辨率图像采集技术的成熟使遥感技术从最初的数据定性分析发展到了定位识别和定量处理相结合的阶段[1]。 随着遥感影像分辨率越来越高,影像上地物纹理越来越清晰,遥感影像被越来越广范的应用于地物特征提取[2]。而水边线是水陆交界线, 是遥感影像上重要的特征线[3-4]。 如何从遥感影像上快速准确的提取水边线,成为国内外学者的研究热点。

1 漫水填充算法原理

水边线的提取方法主要有阈值分割法、 边缘检测法、主动轮廓法、监督分类法、面向对象法等。这些算法是通过阈值设置, 较强的边缘特征等进行水边线的提取, 但对于弱水边线的提取则并不能达到预期效果。

漫水填充算法是一种用特定的颜色填充联通的区域,以一个像素点出发,以此向周边的像素点扩充着色,直到图形的边界,将水边线区域全部填充上颜色,然后提取或分离出填充的水边线部分[5]。

漫水填充算法最常见的有四邻域像素填充法,八邻域填充法。 本次选用四邻域填充算法进行遥感影像水边线的提取。 四邻填充法的原理是先根据已知像素点p(x,y)的上下左右四个临近像素点,如果没有被填充,则填充它们,然后对找出的着四个临近像素点再进行寻找它们各自的四邻域像素, 直到封闭区域完全被新颜色填充。 利用一个种子点,然后种子点附近的相似点被填充为同一个颜色,以此来编辑周围的一片区域。四邻域填充算法是不考虑对角线方向的节点[4]。

图1 四邻域像素填充示意图

2 数据获取及预处理

环境与灾害监测小卫星星座由2颗光学小卫星(HJ-AB)和1颗合成孔径雷达小卫星(HJ-1C)组成的“2+1”星座,简称“环境一号”,时间分辨率为2d,具有较高的时间分辨率和30m的空间分辨率,该卫星搭载了CCD相机和超光谱成像仪, 本次遥感影像从中国资源卫星应用中心获取的1景环境卫星遥感影像,成像时间为北京时间2009年10月6日3点1分54秒。

本次将江苏太湖周边区域作为研究区域, 太湖面积2338km2,湖泊均深1.87m,最深2.7m,是典型的大型内陆浅水湖泊。 太湖周围还分布着其他大大小小的湖泊, 对于本次水边线提取能够提供充足的水域数据。 选用的影像尽量避免水域上空存在大量的云层或遮挡物,选择比较清晰的影像。

由于影像在刚获取时会因为大气、 相机等因素存在有畸变,大气误差等,所以影像在进行水边线提取前需要先进行预处理[6]。 遥感数据预处理包括了辐射定标、几何校正、大气校正、影像裁剪等步骤[7-9]。遥感影像的预处理选用ENVI遥感数据处理软件,该软件是针对遥感影像数据预处理及信息提取等的专业软件, 利用ENVI软件完成有关影像的预处理工作。 经过预处理之后的影像如图3。

图3中的影像为真彩色,通过色彩的改变将太湖水域特征凸显出来,从图中可以看出,不同地物在影像中反映的特征不同,色彩也存在差异,不同特征地物的突出更有利于漫水填充算法根据像素进行填充。

图2 环境卫星影像

图3 环境影像校正

3 Python构建模型提取太湖水边线

通过使用Python软件建立漫水填充算法模型,根据影像中的水域特征, 通过选取种子点与整个图像的像素值的最大负差值和最大的正差值, 利用差值进行水域的填充。 种子点的选择应尽量满足整个水域的参数特征, 这样才能够尽量将整个太湖水域填充完整。 当邻近像素点位于给定范围内或者在原始Seed Point像素值范围内时,Flood Fill函数就会为这个点填充颜色。 因为部分水域在影像上与一些其他地物反映出的特征较相近, 虽然通过将影像改为真彩色可以降低干扰因素,但依然会有一些噪音干扰。当利用建立的漫水填充算法获取的太湖填充影像如图4。

图4中有一些位置比较破碎, 是因为周围地物反映的光谱及特征与水域比较接近导致的。 利用漫水填充算法提取的水域为面,需要再经过后处理获取边线数据。 本次使用ArcGIS地理信息软件中的Feature Line 功能将漫水填充算法提取的水域面转换成线, 最后获取太湖水边线数据,提取的水边线的效果如图5,经统计填充的水域面积为2314.08km2。

图4 漫水填充算法填充太湖效果

图5 太湖水边线提取效果

遥感影像分辨率较高,使得地物特征较明显,但同时也会使得除研究区域之外大大增加了干扰因素。 图6可以看出,洪水填充算法不仅对水陆边界明显的位置提取效果较好, 而且对范围小的水陆边线依然可以精准地提取出来, 但水域上的云层也被作为水边线被提取出来,这就会增大提取边线的误差。

图6 太湖水边线与影像叠加效果

4 精度验证

本次通过选取提取海岸线与基线的差异,分析漫水填充算法在不同类型海岸水边线提取的精度, 方法是通过在提取水边线上等间距的选取足够多的验证点,逐点计算到真实海岸线的距离,该距离为欧式距离[5]。 欧式距离在数字图像处理中的应用范围比较广泛,尤其对影像骨架的提取,是一个很好的参照, 精度验证选用计算均方根误差RMSE来进行评定。

式中 n为样本总点数;Dn为第n个点到真实水边线的距离。

本次从提取水边线数据中选取8个验证点进行精度验证,选取验证点坐标如表1。

表1 水边线验证点坐标统计

通过表格中的坐标数据, 利用欧氏距离公式计算得出本次提取水边线的均方根误差为11.69,误差在3个像素之内,该误差满足岸线规程要求,可以用于实际应用。

5 结语

本次通过使用Python软件建立了漫水填充算法模型, 利用该模型结合ArcGIS软件成功提取了天湖水边线。 通过选取验证点坐标对提取水边线进行验证,结果显示提取水边线精度在3个像元之内。 虽然该方法模型处理影像速度快, 对弱水边线也能进行很好的提取, 但是也会容易将水域上方的云层等误认为陆地提取其边线作为水边线,增大了提取误差。之后还需对影像去云等处理,继续改善算法模型,从而更高精度地提取水边线。

猜你喜欢
边线邻域像素点
海岸水边线提取方法在GF-2卫星影像中的适应性研究
基于混合变邻域的自动化滴灌轮灌分组算法
图像二值化处理硬件加速引擎的设计
含例邻域逻辑的萨奎斯特对应理论
基于局部相似性的特征匹配筛选算法
基于像素点筛选的舰船湍流尾迹检测算法
尖锐特征曲面点云模型各向异性邻域搜索
基于canvas的前端数据加密
认识足球(六)
突破矩形上边线买入法(1)