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 Earth Engine(GEE)实例代码学习十三——零交叉点(zeroCrossing)
文章图片

再来看看整体结果
Google Earth Engine(GEE)实例代码学习十三——零交叉点(zeroCrossing)
文章图片

由于我也不太懂以后有了更深的理解在重新解释吧

    推荐阅读