目录

  • 一、问题描述:
  • 二、获取影像集并显示:
  • 1、分析步骤
  • 2、加载影像
  • 三、选择波段并处理
  • 四、学习小结:


一、问题描述:

GEE中,如何对影像波段的重新合成(band composition)?

分析区域,选取国外的一幅影像,以下为影像所在的区域

遥感影像波段合成的python代码 遥感波段合成实验报告_遥感影像波段合成的python代码


二、获取影像集并显示:

1、分析步骤

分析步骤如下所示:

加载影像

选择波段

将波段值进行归一处理

转为HSV影像

波段重新合成

可视化显示

2、加载影像

python代码如下:

Map = geemap.Map()
# 加载影像,可视化显示
image = ee.Image('LANDSAT/LE7/LE72300681999227EDC00')
Map.centerObject(image)
Map.addLayer(image, {'bands':['B7', 'B5', 'B3']}, 'image')
Map

结果显示如下:

遥感影像波段合成的python代码 遥感波段合成实验报告_google earth_02

三、选择波段并处理

掌握ee.Image.unitScale函数

  • **ee.Image.unitScale()**实际上是影像数据的一种归一化处理方式
  • ee.Image.rgbToHsv()

将图像从 RGB 颜色空间转换为 HSV 颜色空间。期望在 [0, 1] 范围内的 3 波段图像,并生成三个波段:色调、饱和度和值在 [0, 1] 范围内的值。

遥感影像波段合成的python代码 遥感波段合成实验报告_遥感影像波段合成的python代码_03

  • ee.Image.cat() 将给定的图像连接成一个图像。 返回组合图像。

  • 再加深一下HSV图像的认识: HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

颜色模型

  • 色调H 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,紫色为300°;
  • 饱和度S 饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。
  • 明度V 明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。
  • RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Saturation Value)颜色模型是面向用户的。
  • HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿垂直轴测量。

# 波段选取,进行归一化处理
rgb = image.select('B3', 'B2', 'B1').unitScale(0, 255)
gray = image.select('B8').unitScale(0, 155)
# RGB图像转换为HSV图像,选取色调、饱和度和增强的B8进行合成
huesat = rgb.rgbToHsv().select(['hue', 'saturation'])
comp = ee.Image.cat(huesat, gray).hsvToRgb()
# # Test
# b7 = image.select(['B7']).unitScale(0, 255)
# b5 = image.select(['B5']).unitScale(0, 255)
# b3 = image.select(['B3']).unitScale(0, 255)
# rgbcomp = ee.Image.cat(b3, b5, b7)
Map.addLayer(rgb, {}, 'rgb')
Map.addLayer(comp, {}, 'comp')
Map

结果显示如下:

  • 原始影像(321真彩色合成)
  • 合成影像(pansharpen)

四、学习小结:

  1. 感觉波段合成其实挺简单的,但本次学习中将波段进行RGB合成后,再转换为HSV图像,在进行了波段重新组合之后,再进行HSV图像的RGB图像转换,这几个步骤包含了数字图像处理中的几个基础性的过程,而且也出现了几个并不太熟悉的函数,值得学习一下

参考:

  • https://github.com/giswqs/earthengine-py-notebooks/blob/master/Image/composite_bands.ipynb
  • https://developers.google.com/earth-engine/apidocs/ee-image-cat?hl=en
  • https://baike.baidu.com/item/HSV/547122?fr=aladdin