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

本文介绍了如何使用Google Earth Engine(GEE)选择和预处理遥感影像,进行图像分类,创建训练图像patchs,然后在Python中打开和处理这些patchs,以应用于深度学习的图像分割任务,特别是针对水体识别。
摘要由CSDN通过智能技术生成

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

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
  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gis收藏家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值