Python遥感影像深度学习指南(5)-使用GEE为图像分割创建训练图像patchs

发布时间:2023年12月28日

        在遥感影像图像分割训练过程中,有些情况下,我们需要从一开始就准备自己的数据集,而如果没有合适的工具,这可能会很耗时。

1、在GEE中选择影像

        首先,我们需要一个 GEE 平台的免费账户,可以在 https://signup.earthengine.google.com/ 上轻松获得。然后,我们将进入代码编辑器 (https://code.earthengine.google.com/),创建一个新的空脚本。在空白脚本中,复制并粘贴以下代码,然后点击运行。这样就可以直接放大到巴西东北部的奥罗斯水库。

var DMS_to_Decimal = function (d, m, s) {
  var dec = Math.abs(d) + Math.abs(m/60) + Math.abs(s/3600);
  return d/Math.abs(d)*dec;
}

var oros = ee.Geometry.Point(DMS_to_Decimal(-39, 0, 10), 
                             DMS_to_Decimal(-6, 15, 12))
Map.addLayer(oros)
Map.centerObject(oros, 12)

        下一步是为我们感兴趣的区域选择特定的图像。为此,我们将使用ee.ImageCollection(S2_SR 代表哨兵-2,地表反射率--2A 级产品)打开一个图像集合,然后过滤包含兴趣点且位于特定时间段内的图像。我们将考虑一个月的时间,并显示所有图像,以便直观地检查它们。这些图像可在图层工具中查看。

// Set period to search for images
var start_dt = ee.Date.fromYMD(2018, 12, 1)
var end_dt = ee.Date.fromYMD(2018, 12, 31)
var img_collection = ee.ImageCollection("COPERNICUS/S2_SR")

// Filter the collection
var filtered = img_collection.filterBounds(oros).filterDate(start_dt, end_dt)

var list = filtered.toList(filtered.size().getInfo())

for (var i = 0; i < list.length().getInfo(); i++) {
  var img = ee.Image(list.get(i))
  Map.addLayer(img, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 3000})
  print (i, img)
}

2、GEE图像分类

         现在,我们将执行监督分类,以识别属于我们感兴趣的分割类别的像素。考虑到重点是水识别,在进行分类之前,我们将创建一些额外的指数来帮助分类器完成这项任务。这些指数是归一化水差异指数(NDWI)和修正归一化水差异指数(MNDWI)。这些指数使用 GEE 的归一化差分方法创建,并使用 addBands 添加到我们的图像中,具体如下:

// Creating the Water I
文章来源:https://blog.csdn.net/qq_16773699/article/details/135248813
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。