为什么在线地图里的湖有的是蓝色,有的是绿色?

图片:王彦博 / 知乎 为什么在线地图里的湖有的是蓝色,有的是绿色?

王彦博,匹兹堡大学地理信息,魔法师,塞尔达传说

这个是一个好问题,而要想完全回答它其实没有我们想象中的那么简单。

原题说的是谷歌地图,但我估计题主想说的是谷歌地图里的“卫星图”功能,那其实是隔壁的谷歌地球的数据。所以接下来我将会基于谷歌地球来回答这个问题。

先上总结,如果湖水中含有更多的叶绿素,那么它在物理上的确是会更绿的,反之则偏蓝。但是,我们在谷歌地球上看到的颜色跟物理学上的颜色可能是有出入的。人们对颜色的感知其实很复杂。

我们取墨西哥最大的淡水湖查帕拉湖(Lake Chapala)及其周边为例,来用遥感的方法判断一下湖水的颜色跟湖水里叶绿素的含量有什么关系。

查帕拉湖的位置

首先我们打开谷歌地球。在谷歌地球里,将时间调到 2016 年 12 月,查帕拉湖及其周边地区大概长这样:

注意图中的这四个湖,将会是我们本次研究的对象。其中 4 就是查帕拉湖。

如果在谷歌地球里看,那么最“绿”的应该是 3(而且绿的很明显),

谷歌地球使用的是美国名为 Landsat 系列遥感卫星的真彩色图像(True Color Image)。所谓真彩色图像,即是将遥感卫星接收到的红绿蓝(RGB)波段直接按照 RGB 的顺序来合成出的图像。这样的图像颜色,理论上看起来就跟我们飞到高空中看到的地面一样。于是我们登录EarthExplorer,下载 2016 年同一时间段内的 Landsat 遥感卫星影像,按照真彩色图像的方法导入 ENVI。

遥感软件ENVI里显示的查帕拉湖地区

值得一提的是,原始的卫星遥感影像的颜色是比较暗淡的。为了让我们能够看得更清楚,这里我们使用了一些增强的办法来让图片变得更“亮”了一些。不过因为我们采用的图像增强算法与谷歌地球所使用的不尽相同,所以会跟在谷歌地球里看到的有一些色差。但总的来说,看起来还是湖 3 是最“绿”的,而湖 1 是最“蓝”的。其余两个湖则是有些含混的青色,介于两者之间。

但真的是这样么?我们查看一下这几个湖的光谱。

四个湖的光谱曲线,其中横坐标为波长,纵坐标为卫星传感器接收到的能量

我在四个湖中都选了一个点为代表来研究各自的光谱曲线。其中,图中第二根竖线即为绿色光所在的波长(0.56 微米)。也就是说,四根曲线和第二根竖线的交点,即为它们各自的“绿色程度”。交点越高,代表越绿。从大到小排列为 2 > 4 > 3 > 1

于是我们可以发现,虽然看起来最“蓝”的湖 1 的确排在最下面,不怎么绿;但我们之前认为最绿的湖 3 居然是倒数第二,甚至不如看起来很暗淡的最大的湖 4 绿。也就是说,湖 3 其实在物理的角度,并不算绿。最绿的湖反而是左下角有点发白的湖 2。

接下来,我们使用环境遥感里的经验模型来定性分析这四个湖里的叶绿素含量。通过计算卫星 TM3 波段(红波段)和 TM1 波段(蓝波段)的比值,就能得到湖水里叶绿素含量的相对关系。比值越大,说明叶绿素含量越高。

最后的比值是,

湖 1:0.817

湖 2:0.998

湖 3:0.846

湖 4:0.871

这也就意味着叶绿素的含量为 2 > 4 > 3 > 1,跟前面的“绿色程度”相吻合。

所以,湖水里有更多的叶绿素就会更绿,反之就会更蓝。这里的绿跟蓝都是物理学意义上的颜色,而不是人主观感受的颜色。不过因为清澈的水体会吸收所有可见光波段的能量,所以更确切的表达不是更蓝,应该是更黑。

但是,为什么这几个湖的颜色给我们的主观感觉和物理学上的颜色不一样呢?这就牵扯到很多别的问题了。比如,图像的增强算法。

普通线性增强:

5%线性增强:

高斯增强:

以上三张图片和之前是同一张,只是因为我用不同的算法增强了它,所以它的颜色给人的主观感觉也会不一样。

另外,我们在看一种不是纯色的颜色的时候,还会因为诸如饱和度之类的原因而给出不同的判断,而不只是物理学上 RGB 的值。或许熟悉 RGB 值的设计师们可以准确的看出这四个湖究竟哪一个是真的最绿呢?不过这就是另一个问题了。

参考文献:

  1. 贾海峰, & 刘雪华. (2006). 环境遥感原理与应用. 清华大学出版社有限公司.
  2. 佘丰宁, 蔡启铭, 陈宇炜, & 李旭文. (1996). 水体叶绿素含量的遥感定量模型. 湖泊科学, 8(3), 201-207.