google earth engine随缘学习(九)霍夫变换(Hough Transform)

首先介绍一下霍夫变换——原博主超链接https://blog.csdn.net/fishmemory/article/details/51496190在这里插入图片描述

霍夫变换可以提取图像的几何特征,监测直线甚至监测圆或椭圆等任意形状物体。

官方示例代码:

/ An example finding linear features using the HoughTransform.

// Load an image and compute NDVI.
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_033032_20170719');
var ndvi = image.normalizedDifference(['B5', 'B4']);

// Apply a Canny edge detector.
var canny = ee.Algorithms.CannyEdgeDetector({
  image: ndvi,
  threshold: 0.4
}).multiply(255);

// Apply the Hough transform.
var h = ee.Algorithms.HoughTransform({
  image: canny,
  gridSize: 256,
  inputThreshold: 50,
  lineThreshold: 100
});

// Display.
Map.setCenter(-103.80140, 40.21729, 13);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'source_image');
Map.addLayer(canny.updateMask(canny), {min: 0, max: 1, palette: 'blue'}, 'canny');
Map.addLayer(h.updateMask(h), {min: 0, max: 1, palette: 'red'}, 'hough');

先利用CannyEdgeDetector函数提取NDVI图像的边界,然后利用霍夫变换提取其直线特征。

效果如下(蓝色线为边界,红色线为霍夫变换结果):

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_21567935/article/details/86369921