GEE:影像数据平滑处理【领域均值滤波】

目录


一、问题描述:

GEE中,如何对影像进行平滑处理?

分析区域,选取洋河所在区域作为典型区进行展示
GEE:影像数据平滑处理【领域均值滤波】


二、数字图像平滑处理

图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因为图像平滑处理过程中往往会使得图像变的模糊,因此又叫模糊处理。

1、基本原理

图像平滑的基本原理是,将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。
图像平滑处理的方法有很多,比如均值滤波,方框滤波,高斯滤波,中值滤波,双边滤波。

  • 均值滤波
    平均滤波是将一个m*n(m, n为奇数)大小的kernel放在图像上,中间像素的值用kernel覆盖区域的像素平均值替代。平均滤波对高斯噪声的表现比较好,对椒盐噪声的表现比较差。
    GEE:影像数据平滑处理【领域均值滤波】
    其中$S_{xy} 表示中心点在(x, y) 大小为m X n 滤波器窗口。
    当滤波器模板的所有系数都相等时,也称为盒状滤波器。BoxFilter , BoxFilter可以用来计算图像像素邻域的和。

  • 高斯加权滤波器
    高斯函数是一种正态分布函数,一个二维高斯函数如下:
    GEE:影像数据平滑处理【领域均值滤波】
    σ为标准差, 如果要得到一个高斯滤波器模板可以对高斯函数进行离散化,得到离散值作为模板系数。简单来说就是以模板中心位置为坐标原点进行取样。

  • 双边滤波
    加权均值滤波和高斯滤波是求中心点区域邻近区域像素的高斯加权平均值,只考虑了像素之间的空间关系,而没有考虑像素值之间的关系。而边界处的灰度值变化比较大,因此这两种方法也会把边界模糊掉。而双边滤波会同时使用空间高斯权重和灰度值相似性高斯权重,确保边界处不会被模糊掉。
    双边滤波能够较好的保留图像的边缘信息。

2、平滑处理在图像处理中的地位

  • 图像增强是对图像进行处理,使其比原始图像更适合于特定的应用,它需要与实际应用相结合。对于图像的某些特征如边缘、轮廓、对比度等,图像增强是进行强调或锐化,以便于显示、观察或进一步分析与处理。图像增强的方法是因应用不同而不同的,研究内容包括:(参考课件和左飞的《数字图像处理》)
  • 图像平滑是一种区域增强的算法,平滑算法有邻域平均法、中指滤波、边界保持类滤波等。在图像产生、传输和复制过程中,常常会因为多方面原因而被噪声干扰或出现数据丢失,降低了图像的质量(某一像素,如果它与周围像素点相比有明显的不同,则该点被噪声所感染)。这就需要对图像进行一定的增强处理以减小这些缺陷带来的影响。
  • 邻域平均法。图像简单平滑是指通过邻域简单平均对图像进行平滑处理的方法,用这种方法在一定程度上消除原始图像中的噪声、降低原始图像对比度的作用。它利用卷积运算对图像邻域的像素灰度进行平均,从而达到减小图像中噪声影响、降低图像对比度的目的。
    但邻域平均值主要缺点是在降低噪声的同时使图像变得模糊,特别在边缘和细节处,而且邻域越大,在去噪能力增强的同时模糊程度越严重。

GEE:影像数据平滑处理【领域均值滤波】


三、加载DEM数据并显示:

1、分析步骤

分析步骤如下所示:

加载区域DEM 可视化显示 Hillshade山影显示 平滑处理smooth 可视化显示 Hillshade山影显示

2、加载数据并显示

python代码如下:

Map = geemap.Map()
image = ee.Image('srtm90_v4')

Map.setCenter(115.1294, 40.6008, 9)

Map.addLayer(image, {'min':0, 'max':3000, 'palette':['blue', 'white', 'red']}, 'dem')
Map.addLayer(ee.Terrain.hillshade(image), {'palette':['blue', 'white']}, 'hillshade')
Map

结果显示如下:
GEE:影像数据平滑处理【领域均值滤波】GEE:影像数据平滑处理【领域均值滤波】

四、影像平滑处理

  • ee.Image.reduceNeighborhood()
    将给定的 reducer
    应用于每个像素周围的邻域,由给定的内核确定。如果reducer只有一个输入,它将分别应用于集合的每个band;否则它必须具有与输入图像具有相同数量的输入。
    reducer 输出名称决定了输出 band 的名称:具有多个输入的 reducer 将直接使用输出名称,而具有单个输入的 reducer
    将在输出名称前加上输入 band 名称(例如 ‘10_mean’、‘20_mean’ 等.)。 具有加权输入的 Reducer
    可以根据输入掩码、内核值或这两者中的较小者来获得输入权重。

    GEE:影像数据平滑处理【领域均值滤波】
# 影像领域均值平滑处理
smooth = image.reduceNeighborhood(**{
    'reducer':ee.Reducer.mean(),
    'kernel':ee.Kernel.square(3)
}
)
Map.addLayer(smooth, {'min':0, 'max':3000}, 'smooth dem')
Map.addLayer(ee.Terrain.hillshade(smooth), {}, 'smooth hillshade')
Map

结果显示如下:
GEE:影像数据平滑处理【领域均值滤波】
GEE:影像数据平滑处理【领域均值滤波】


五、学习小结:

  1. 数字图像平滑处理是图像增强中重要内容之一,通过平滑处理,可以降低噪声影响,增强图像信息。
  2. 本次学习了GEE中影像平滑化处理的函数,

参考:

  • https://github.com/giswqs/earthengine-py-notebooks/blob/master/Image/image_smoothing.ipynb
  • https://developers.google.com/earth-engine/apidocs/ee-image-reduceneighborhood?hl=en
  • https://baijiahao.baidu.com/s?id=1669080996142912937&wfr=spider&for=pc
  • https://baike.baidu.com/item/%E5%9B%BE%E5%83%8F%E5%B9%B3%E6%BB%91/8827890?fr=aladdin
  • https://www.cnblogs.com/vincentcheng/p/9261557.html -
上一篇:leetcode之前缀和刷题总结1


下一篇:219. 存在重复元素 II、Leetcode的Go实现