形态学就是确定影像地物的显示大小和方式, ​​focal_max()​​​,​​focal_min()​​​,​​focal_median()​​​,和 ​​focal_mode()​​​实例的方法​​Image​​​类。(这些是更通用的快捷方式​​reduceNeighborhood()​​​,它可以将内核中的像素输入到任何具有数字输出的筛选器中筛选。形态算子可用于执行诸如腐蚀、膨胀、打开和关闭之类的操作。例如,使用​​focal_min()​​​后跟​​focal_max()确定地物的大小显示。​

Google Earth Engine(GEE)——地物大小的筛选_图像处理

大于等于0.2时候的影像

Google Earth Engine(GEE)——地物大小的筛选_google cloud_02

 半径设置为1的时候的影像

Google Earth Engine(GEE)——地物大小的筛选_google cloud_03

  半径设置为2的时候的影像

ee.Kernel.circle(radius, unitsnormalizemagnitude)


(半径,单位,归一化,幅度)


Generates a circle-shaped boolean kernel.


生成圆形布尔内核。


Arguments:

radius (Float):

The radius of the kernel to generate.

units (String, default: "pixels"):

The system of measurement for the kernel ('pixels' or 'meters'). If the kernel is specified in meters, it will resize when the zoom-level is changed.


内核的测量系统(“像素”或“米”)。如果内核以米为单位指定,则在更改缩放级别时会调整大小。


normalize (Boolean, default: true):

Normalize the kernel values to sum to 1.


将内核值归一化为总和为 1。


magnitude (Float, default: 1):

Scale each value by this amount.


按此量缩放每个值


Returns: Kernel

代码:

// 加载影像选择近红外波段并且按照大于0.2的标准进行筛选
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')
.select(4).gt(0.2);
Map.setCenter(-122.1899, 37.5010, 13);
Map.addLayer(image, {}, 'NIR threshold');

// 定义一个像素的内核,半径为1
var kernel = ee.Kernel.circle({radius: 2});

// 加载影像
var opened = image
.focal_min({kernel: kernel, iterations: 2})
.focal_max({kernel: kernel, iterations: 2});
Map.addLayer(opened, {}, 'opened');