google earth engine随缘学习(十一)影像分割

之前的基于对象分类提到了图像分割,但当时没太搞懂
放代码:
var inputsSNIC={image:image,size:20,compactness:1,neighborhoodSize:null}
var seg1=ee.Algorithms.Image.Segmentation.SNIC(inputsSNIC);
var seg2=ee.Algorithms.Image.Segmentation.SNIC(inputsSNIC).reproject(image.select(0).projection(),null,10);

print(seg1)

Map.addLayer(seg1.select(0),{},'without reproject')
Map.addLayer(seg2.select(0),{},'with reproject')

print(Map.getScale())

这是论坛大神贴的代码,图像分割后的斑块大小会随着地图放缩而改变,因此需要reproject操作来固定我们想要的大小。
SNIC算法介绍:
只找到一个介绍SLIC的,但我觉得两个应该差不多——https://blog.csdn.net/ns708865818/article/details/49004035,和K-means聚类算法比较像,其中各参数的意义是compactness值越大,分成的块越接近正方形。size越大,种子点(聚类中心)分布越分散,分成的块越大。neighborhoodSize表示聚类中心周围的搜索空间。reproject函数表示重投影,里面的参数是投影,投影需要的参数,输出分辨率。

分割大致效果:

在这里插入图片描述
在这里插入图片描述

(结合图像分割和基于对象分类方法可以做出很好的分类效果)

猜你喜欢

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