Google 地球引擎 (GEE) - 初学者的福音一文解释什么是图像拉伸?
visParams中参数 min,max,gamma参数问题:
昨天看到有同学对于视觉参数,也就是展现RGB真彩色影像的时候参数的min,max的问题!
说白了这个就是波段digital number (DN)值的最大最小值的确定,因为,每个影像所定义的波段的最大最小值是不同的,我将会用Landsat SR影像和LandsatTOA影像对比来说明这个问题。
Landsat SR影像
Landsat SR影像的展示:
这个影像当中的min和max分别设置成0和3000的道理在哪呢?
先看正常影像的加载:
首先看这个视觉参数的函数:visParams
Map.addLayer(eeObject, visParams, name, shown, opacity)
Adds a given EE object to the map as a layer.
Returns the new map layer.
Arguments:
eeObject (Collection|Feature|Image|RawMapId):
The object to add to the map.
visParams (FeatureVisualizationParameters|ImageVisualizationParameters, optional):
The visualization parameters. For Images and ImageCollection, see ee.data.getMapId for valid parameters. For Features and FeatureCollections, the only supported key is "color", as a CSS 3.0 color string or a hex string in "RRGGBB" format. Ignored when eeObject is a map ID.
可视化的参数。对于图像和ImageCollection,有效参数见ee.data.getMapId。对于特征和特征集合,唯一支持的键是 "color",作为CSS 3.0颜色字符串或 "RRGGBB "格式的十六进制字符串。当eeObject是一个地图ID时被忽略。
name (String, optional):
The name of the layer. Defaults to "Layer N".
shown (Boolean, optional):
A flag indicating whether the layer should be on by default.
opacity (Number, optional):
The layer's opacity represented as a number between 0 and 1. Defaults to 1.
Returns: ui.Map.Layer
知道是可视化参数,但是我们不知道为要设置最大最小,那我们看一下不设置这个参数影像如何:
是不是这张影像基本看不清,如果大家还是不清楚,那么就让你看这个你就懂了:下图是波段的范围值,也就是如果你设置最大最小值,那么他就按照这个最低的去显示,所以转换成0-1之间的关系就需要将最大值乘以1000或者更多,把他归一化后呈现的效果。
如果我们把最大值设置成8000后的效果如下:影像亮度就会偏低。
Landsat TOA影像
看到这里是不是大家明白了,接下来我们快速看一下Landsat TOA影像的RGB影像是不是和SR影像一致呢?
TOA波段的性质:没有scale单位设置,那么它就是归一化后的结果,所以我们接着看代码:
这里没有进行去云,所以影像会有云存在,当然不影响我们RGB的色彩的展示,直接看:
当设置成0.8时,影像颜色会变深,所以我们要根据自己的实际情况进行分析影像的拉伸程度。
gamma值设置为0.8的时候的影像:同样是伽马值就是调节我们的色彩对比程度的
当min:0,max:1时,不设gamma的时候影像:
当min:0,max:1时,设gamma=1.5的时候影像:
当min:0,max:1时,设gamma=2的时候影像: