GEE(Google Earth Engine)——Canny edge detection边缘探测(根据地物形状圈图)

举报
此星光明 发表于 2022/04/16 02:27:03 2022/04/16
【摘要】 边缘检测适用于广泛的图像处理任务。除了卷积部分中描述的边缘检测内核之外,Earth Engine 中还有几种专门的边缘检测算法。 Canny 边缘检测算法 (Canny 1986) 使用四个单独的过滤器来...

边缘检测适用于广泛的图像处理任务。除了卷积部分中描述的边缘检测内核之外,Earth Engine 中还有几种专门的边缘检测算法。 Canny 边缘检测算法 (Canny 1986) 使用四个单独的过滤器来识别对角线、垂直和水平边缘。该计算提取水平和垂直方向的一阶导数值并计算梯度幅值。较小量级的梯度被抑制。要消除高频噪声,可选择使用高斯内核对图像进行预过滤。
一个最简单的代码:
原始影像
边界识别后的效果
一起看代码

// Load a Landsat 8 image, select the panchromatic band.
var image = ee.Image('LANDSAT/LC08/C01/T1/LC08_044034_20140318').select('B8');

// Perform Canny edge detection and display the result.
var canny = ee.Algorithms.CannyEdgeDetector({
  image: image, threshold: 10, sigma: 1
});
Map.setCenter(-122.054, 37.7295, 10);
Map.addLayer(canny, {}, 'canny');
// Perform Hough transform of the Canny result and display.
var hough = ee.Algorithms.HoughTransform(canny, 256, 600, 100);
Map.addLayer(hough, {}, 'hough');

请注意,该threshold参数决定了最小梯度幅度,该sigma参数是高斯预滤波器去除高频噪声的标准偏差 (SD)。为了从边缘检测器中提取线,Earth Engine 实现了 Hough 变换 (Duda 和 Hart 1972)。继续前面的例子,从 Canny 检测器中提取线:通过Algorithms.HoughTransform()中提取线:
提取后的结果

文章来源: blog.csdn.net,作者:此星光明2021年博客之星云计算Top3,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31988139/article/details/119281185

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。