geemap学习笔记048:光谱变换

news2025/1/11 12:49:30

前言

Earth Engine中有多种光谱变换方法。其中包括图像上的实例方法,例如 normalizedDifference()、unmix()、rgbToHsv() 和 hsvToRgb()。

1 导入库并初始化

import ee
import geemap

ee.Initialize()

2 全色图像锐化(Pan sharpening)

Map = geemap.Map(center=[40, -100], zoom=4)

# Load a Landsat 8 top-of-atmosphere reflectance image.
image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')
Map.addLayer(
    image,
    {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 0.25, 'gamma': [1.1, 1.1, 1]},
    'rgb')

# 将图像从 RGB 颜色空间转换为 HSV 颜色空间。输入是在 [0, 1] 范围内的 3 波段图像,并生成三个波段:
# 色调、饱和度和值(hue, saturation, value),其值在 [0, 1] 范围内。
hsv = image.select(['B4', 'B3', 'B2']).rgbToHsv()

# 将'value'替换为全色波段并转换回 RGB。
sharpened = ee.Image.cat([
  hsv.select('hue'), hsv.select('saturation'), image.select('B8')
]).hsvToRgb()

# 展示结果
Map.setCenter(-122.44829, 37.76664, 13)
Map.addLayer(sharpened,
             {'min': 0, 'max': 0.25, 'gamma': [1.3, 1.3, 1.3]},
             'pan-sharpened')
Map

Pan sharpening前后结果对比
image.png
image.png

3 光谱解混(Unmix)

Map = geemap.Map(center=[40, -100], zoom=4)

# Load a Landsat 5 image and select the bands we want to unmix.
bands = ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7']
image = ee.Image('LANDSAT/LT05/C02/T1/LT05_044034_20080214') \
  .select(bands)
Map.setCenter(-122.1899, 37.5010, 10) # San Francisco Bay
Map.addLayer(image, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 128}, 'image')

# 定义光谱端元
urban = [88, 42, 48, 38, 86, 115, 59]
veg = [50, 21, 20, 35, 50, 110, 23]
water = [51, 20, 14, 9, 7, 116, 4]

# 图像解混
fractions = image.unmix([urban, veg, water])
Map.addLayer(fractions, {}, 'unmixed')

Map

image.png

后记

大家如果有问题需要交流或者有项目需要合作,可以加Q Q :504156006详聊,加好友请留言“CSDN”,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 使用 EasyExcel 爬取数据

一、爬取数据的基本思路 分析要爬取数据的来源 1. 查找数据来源:浏览器按 F12 或右键单击“检查”打开开发者工具查看数据获取时的请求地址 2. 查看接口信息:复制请求地址直接到浏览器地址栏输入看能不能取到数据 3. 推荐安装插件:FeHelper&a…

个人网站制作 Part 6 添加高级特性(页面动画、服务端集成) | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 添加页面动画🔨使用CSS动画🔧步骤 1: 添加动画效果 🔨使用JavaScript实现动画🔧步骤 2: 使用JavaScript添加动画 &#x1…

机器学习_梯度下降

文章目录 什么是梯度梯度下降梯度下降有什么用 什么是梯度 计算梯度向量其几何意义,就是函数变化的方向,而且是变化最快的方向。对于函数f(x),在点(xo,yo),梯度向量的方向也就是y值增加最快的方向。也就是说,沿着梯度…

常用界面设计组件 —— 窗体(QT)

二、常用界面设计组件2.1 窗体2.1.1 设置窗体位置、大小及背景颜色2.1.2 设置窗体标题2.1.3 多窗体调用 二、常用界面设计组件 组件是GUI的基本元素,也称为UI控件。它接受来自底层平台的不同用户事件,如鼠标和键盘事件(以及其它事件&#xf…

初识 Elasticsearch 应用知识,一文读懂 Elasticsearch 知识文集(4)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

rpb/rpc文件说明与matlab读取

什么是rpb/rpc文件? rpb文件是用来存储用于遥感数据几何校正的RPC(Rational Polynomial Coefficients )模型的文件。类似的还有RPC文件,rpb与rpc文件只是格式不同,但包含的信息一致。其用于从图像坐标转换到地理坐标&a…

uint32无符号字节转为Java中的int

文章目录 前言一、无符号字节转为int1.前置知识2.无符号转int代码3.Java中字节转为int 二、字节缓冲流1.基础知识2.String与ByteBuffer转换 总结 前言 Java 中基本类型都是有符号数值,如果接收到了 C/C 处理的无符号数值字节流,将出现转码错误。 提示&a…

多线程——CAS

什么是CAS CAS的全称:Compare and swap,字面意思就是:“比较并交换”,一个CAS涉及到以下操作: 假设内存中的原数据V,旧的预期值A,需要修改的新值B 1.比较A与V是否相等(比较&#xf…

SAP中采购文档价格条件可以删除吗?

首先要声名,基于采购价格条件的严谨性和历史追朔需求,删除属于危险操作。不建议普通用户去执行操作。如果有兴趣,在测试系统中自行测试一下即可。正式系统中,还请慎重处理。 笔者公司日常不会去删除采购价格,日常处理…

网页在线封装App的新兴应用技术

在当今快速发展的技术时代,移动应用(App)无疑成为了连接用户与服务的桥梁。随着市场上App数量的激增,开发者不断探索更高效、成本更低的应用开发方法。其中,网页在线封装App技术,作为一种创新手段&#xff…

行测:国考省考行测:语句表达,位置分析,语句分析,语句填空

国考省考行测:语句表达 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇到…

test0116测试2

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 磁盘满的本质分析 专栏:《Linux从小白到大神》 | 系统学习Linux开发、VIM/GCC/GDB/Make工具…

Linux Mii management/mdio子系统分析之一 总体概述

Linux Mii management/mdio子系统分析之一 总体概述 (转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303099 从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy…

Java登录功能实现原理解密

目录 1、前言 2、登录功能介绍 3、前端实现 4、后端实现 5、数据库存储 6、加密和解密机制 7、安全性考虑 8、结语 1、前言 在Web开发中,登录功能是一个常见的需求。用户在登录页面输入用户名和密码后,系统会验证用户的身份信息,并根…

【文本到上下文 #6】高级词嵌入:Word2Vec、GloVe 和 FastText

一、说明 欢迎来到“完整的 NLP 指南。到目前为止,我们已经探索了自然语言处理的基础知识、应用程序和挑战。我们深入研究了标记化、文本清理、停用词、词干提取、词形还原、词性标记和命名实体识别。我们的探索包括文本表示技术,如词袋、TF-IDF 以及词嵌…

什么是高标准农田?为何要建设?该如何建设?

随着农业技术的不断进步,高标准农田成为了现代农业的标志之一。那么,什么是高标准农田?为何要建设高标准农田?如何建设高标准农田呢?接下来,我们将为您一一解答。 首先,我们来了解一下高标准农田…

【设计模式-3.3】结构型——享元模式

说明:说明:本文介绍设计模式中结构型设计模式中的,享元模式; 游戏地图 在一些闯关类的游戏,如超级玛丽、坦克大战里面,游戏的背景每一个关卡都不相同,但仔细观察可以发现,其都是用…

深入解析JavaScript中的变量作用域和闭包

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 JavaScript作为一门解释执行的脚本语言,其变量作用域与传统编译型语言…

Elasticsearch Windows部署-ELK技术栈

1、下载Elasticsearch、kibana、logstash 本文不介绍ELK相关原理知识,只记录部署操作过程 下载地址Past Releases of Elastic Stack Software | Elastic 选择同一版本,这里选择是当前最新版本8.11.3 解压放在同目录下,方便后续操作与使用 …