图像拉伸是最基础的图像增强显示处理方法,主要用来改善图像显示对比度,地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式线性拉伸直方图均衡化拉伸和直方图归一化拉伸。

GEE 中使用 .sldStyle()方法来进行图像的拉伸,相关介绍链接在此

那么 GEEMAP 中如何使用这个功能呢?直接放代码片段:

import ee
import geemap
Map = geemap.Map(center=[36.7337, -108.2491], zoom=12)
Map
# 定义一幅地图
image = ee.Image('COPERNICUS/S2_SR_HARMONIZED/20230809T174911_20230809T175605_T12SYF')

# 使用 “_enhance_” 作为占位符定义 RasterSymbolizer 元素
template_sld = 
  '<RasterSymbolizer&gt;' + 
    '<ContrastEnhancement&gt;<_enhance_/></ContrastEnhancement>' + 
    '<ChannelSelection>' + 
      '<RedChannel>' + 
        '<SourceChannelName>B4</SourceChannelName>' + 
      '</RedChannel>' + 
      '<GreenChannel>' + 
        '<SourceChannelName>B3</SourceChannelName>' + 
      '</GreenChannel>' + 
      '<BlueChannel>' + 
        '<SourceChannelName>B2</SourceChannelName>' + 
      '</BlueChannel>' + 
    '</ChannelSelection>' + 
  '</RasterSymbolizer>'

# 获取具有不同增强功能的 SLD。
equalize_sld = template_sld.replace('_enhance_', 'Histogram')
normalize_sld = template_sld.replace('_enhance_', 'Normalize')

# 分别显示结果
Map.addLayer(image, {'bands': ['B4', 'B3', 'B2'], 'min': 0.0, 'max': 3000}, 'Linear')
Map.addLayer(image.sldStyle(equalize_sld), {'gamma': [1.2, 1.2, 1.2]}, 'Equalized')
Map.addLayer(image.sldStyle(normalize_sld), {}, 'Normalized')

首先,我们看看(432波段)结果对比:

1、 Linear线性拉伸)
请添加图片描述

2、 Equalized (直方图均衡化拉伸)
请添加图片描述

3、Normalized (直方图归一化拉伸)
请添加图片描述


再来看看(843波段)结果对比:

1、 Linear线性拉伸)
请添加图片描述

2、 Equalized (直方图均衡化拉伸)
请添加图片描述

3、Normalized (直方图归一化拉伸)
请添加图片描述


怎么样朋友们,是不是能为目视解译提供更多的细节

原文地址:https://blog.csdn.net/weixin_46601231/article/details/132394878

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15273.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注