Google Earth Engine(GEE)——Landsat8 影像梯度计算

先看图像:

方向

 梯度

直接看代码:

代码语言:javascript
复制
//加载 Landsat 8 图像并选择全色波段。
var image = ee.Image('LANDSAT/LC08/C01/T1/LC08_044034_20140318').select('B8');

// 用内置函数直接,计算 X 和 Y 方向的图像梯度。
var xyGrad = image.gradient();

// 计算梯度的大小。x和y的平方开根号
var gradient = xyGrad.select('x').pow(2)
.add(xyGrad.select('y').pow(2)).sqrt();

// 计算梯度的方向。arctan(y/x)
var direction = xyGrad.select('y').atan2(xyGrad.select('x'));

//结果呈现
Map.setCenter(-122.054, 37.7295, 10);
Map.addLayer(direction, {min: -2, max: 2, format: 'png'}, 'direction');
Map.addLayer(gradient, {min: -7, max: 7, format: 'png'}, 'gradient');