本文主要是介绍Google Earth Engine(GEE)实例代码学习十三——零交叉点(zeroCrossing),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
GEE零交叉点(zeroCrossing)找海拔超过1000的像素
先来看看什么是零交叉点,说实话看完这个介绍吧我还是不懂!
我就单纯看图理解吧,从运行结果看感觉像探测边缘,但结果为一个个像素
这个算子的作用就是从图像中提取出零交叉点。所谓零交叉点,是指在正弦函数图像中的过零点,也就是上一刻为正,下一刻就变成负的那个点,这样一想自然就是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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!