【openlayers系统学习】3.3假彩色图像合成(三个波段合成假彩色图像)

三、假彩色图像合成

在上一步中,我们使用 ol/source/GeoTIFF​ 源从单个多波段源(具有红色、绿色、蓝色和Alpha波段)渲染真彩色图像。在下面这个例子中,我们将从可见光谱之外提取数据,并使用它来呈现假彩色合成。

我们希望渲染一种假彩色合成图像,突出显示植被区域与裸露土壤区域。富含叶绿素的植被在近红外(Sentinel-2 B08)光谱部分中比在可见波长中的反射更明亮。相比之下,裸露土壤在近红外中不如在可见波长中的反射明亮。请参见下面的图表,显示了绿色植被和裸露土壤的反射光谱与 Sentinel-2 波段。

植被(绿色)、土壤(红色)和水(蓝色)的光谱特征。

为了在多光谱图像中突出显示植被,通常在红色通道中显示近红外(B08)反射率,在绿色通道中显示红色反射率(B04),在蓝色通道中显示绿色反射率(B03)。我们可以使用 ol/source/GeoTIFF​ 源来完成此操作,方法是按RGB顺序加载三个单独的单波段GeoTIFF图像。

更新您的 main.js​ :

js 复制代码
const source = new GeoTIFF({
  sources: [
    {
      // near-infrared reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B08.tif',
      max: 5000,
    },
    {
      // red reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B04.tif',
      max: 5000,
    },
    {
      // green reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B03.tif',
      max: 5000,
    },
  ],
});

重新加载 http://localhost:5173/ 以查看合成的假彩色图像。

注意:探索一下sources选项中的max属性有什么用

在地图渲染过程中,通常会将源数据中的数值映射到一个0到1的范围内进行显示。这个映射过程需要确定源数据中的最大值和最小值,然后根据这些值对数据进行归一化处理。其中,最大源数据值(sources选项中的max属性)就是源数据中存在的最大数值,它用来确定数据的最大范围。如果在渲染时没有提供最大源数据值,OpenLayers会尝试使用栅格统计数据来确定最大值。如果栅格统计数据也不可用,OpenLayers会使用数据类型的最大值作为备用值。

改变了几次max值,发现渲染的图像颜色会不同

相关推荐
云上艺旅5 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西6 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ6 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000757 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆7 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone7 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦7 小时前
HTML 音频(Audio)学习笔记
学习
瞌睡不来8 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
Moonnnn.8 小时前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程