Google Earth Engine(GEE)实例代码学习十三——零交叉点(zeroCrossing)
GEE零交叉点(zeroCrossing)找海拔超过1000的像素 【Google Earth Engine(GEE)实例代码学习十三——零交叉点(zeroCrossing)】先来看看什么是零交叉点,说实话看完这个介绍吧我还是不懂!
我就单纯看图理解吧,从运行结果看感觉像探测边缘,但结果为一个个像素
这个算子的作用就是从图像中提取出零交叉点。所谓零交叉点,是指在正弦函数图像中的过零点,也就是上一刻为正,下一刻就变成负的那个点,这样一想自然就是x轴上的点了。但是在图像中稍微有些不同。来放上代码看看
那么在图像中什么是zero-crossing?
答:图像中灰度值为0的点,以及那些4-邻域中至少有一个点的灰度值和该点的灰度值有不同符号的那些点。其实更深刻地理解,就是二阶导数一个正值点和一个负值点相连之后与x轴的交点,所以这个点代表了二阶导数从正到负的转变,这一转变代表了一阶导数的急剧变化,从而对应了图像中灰度值的剧烈变化。
代码功能:标记海拔超过1000m的像素,并将其与正好等于1000m的像素进行比较。
var elev = ee.Image('CGIAR/SRTM90_V4');
// 先将高程值减1000,zeroCrossing定义为右,底部或对角右下像素具有相反符号的任何像素。
var image = elev.subtract(1000).zeroCrossing();
Map.setCenter(-121.68148, 37.50877, 13);
//找出边缘
Map.addLayer(image, {min: 0, max: 1, opacity: 0.5}, 'Crossing 1000m');
//找到值等于1000的像素
var exact = elev.eq(1000);
Map.addLayer(exact.updateMask(exact), {palette: 'red'}, 'Exactly 1000m');
代码运行结果
先看看局部结果
文章图片
再来看看整体结果
文章图片
由于我也不太懂以后有了更深的理解在重新解释吧
推荐阅读
- 为Google|为Google Cloud配置深度学习环境(CUDA、cuDNN、Tensorflow2、VScode远程ssh等)
- 17个搜索引擎
- Google|Google - 1
- Android基础-Fragment
- 高效使用Google搜索
- Net6|Net6 DI源码分析Part2 Engine,ServiceProvider
- 史上最全的Unreal|史上最全的Unreal Engine 4学习资料整理
- 外贸B2C产品选择技巧②(google趋势分析法)
- LoadingCache简单实例,使用google缓存机制缓存每天数据库第一条数据并保存
- Go Quiz: Google工程师的Go语言面试题