Google Earth Engine tools——利用geetools中的algorithms算法实现hsv

news2024/10/6 5:57:04

简介 

锐化HSV是一种图像处理技术,它是通过调整图像的颜色分量来增强图像的细节和清晰度。HSV是一种颜色空间模型,它基于人类视觉感知的方式来描述颜色。HSV代表色调(Hue)、饱和度(Saturation)和明度(Value)。

色调是颜色的基本属性,它表示颜色在光谱中的位置。色调值的范围是0到360度,其中红色位于0度,绿色位于120度,蓝色位于240度。饱和度表示颜色的纯度,其值的范围是0到100%,0%表示灰色,100%表示纯色。明度表示颜色的亮度,其值的范围是0到100%,0%表示黑色,100%表示白色。

锐化HSV的基本原理是通过在HSV颜色空间中对颜色分量进行调整来增强图像的细节和清晰度。锐化过程包括以下几个步骤:

1. 将输入图像从RGB颜色空间转换为HSV颜色空间。这可以通过将图像的每个像素的RGB值转换为对应的HSV值来实现。

2. 对图像的明度分量进行增强。明度分量表示图像的亮度,通过增强明度分量可以增加图像的整体亮度和对比度,使图像更清晰。

3. 对图像的色调和饱和度分量进行增强。色调和饱和度分量表示颜色的纯度和鲜艳度,通过增强这两个分量可以使图像的颜色更加鲜艳和明亮。

4. 将锐化后的图像从HSV颜色空间转换回RGB颜色空间。这可以通过将图像的每个像素的HSV值转换为对应的RGB值来实现。

锐化HSV可以提高图像的细节和清晰度,使图像更加鲜艳和明亮。它在许多图像处理应用中被广泛使用,如图像增强、图像分割和图像识别等。通过调整HSV颜色空间中的色调、饱和度和明度分量,可以根据具体的需求来优化图像的效果。

总结起来,锐化HSV是一种通过调整图像的颜色分量来增强图像的细节和清晰度的图像处理技术。它基于HSV颜色空间模型,通过调整图像的色调、饱和度和明度分量来优化图像的效果。锐化HSV可以使图像更加鲜艳和明亮,提高图像的细节和清晰度,适用于许多图像处理应用。

初始化

import ee
import geetools
from geetools import tools, batch, algorithms
import geemap

#初始化
ee.Authenticate()
ee.Initialize(project='ee-bqt2000204051')

地图加载 

Map = geemap.Map()
Map


影像加载

p = ee.Geometry.Point([-61, -40])
Map.centerObject(p, zoom=10)

l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA').filterBounds(p).filterMetadata('CLOUD_COVER', 'less_than', 10)

l8i = ee.Image(l8.first())

rgb = ['B4', 'B3', 'B2']

nsr = ['B5', 'B6', 'B4']

visrgb = {'bands': rgb, 'min':0, 'max':0.3}
visnsr = {'bands': nsr, 'min':0, 'max':0.5}

Map.addLayer(l8i, visrgb, 'original RGB')

Map.addLayer(l8i, visnsr, 'original NSR')

地图结果 

 

全盘锐化 hsv???

目前因为下面的两个包无法被导入,可能原始的这两个包已经更新了或者名称发生了变化。

import ipygee

from ipygee import *

pan_hsv_rgb = algorithms.pansharpenIhsFusion(l8i, 'B8', rgb)

Map.addLayer(pan_hsv_rgb, {'bands':['red', 'green', 'blue'], 'min':0, 'max':0.2}, 'HSV pansharpen RGB')

pan_hsv_nsr = algorithms.pansharpenIhsFusion(l8i, 'B8', nsr)

Map.addLayer(pan_hsv_nsr, {'bands':['red', 'green', 'blue'], 'min':0, 'max':0.2}, 'HSV pansharpen NSR')
pansharpening kernel

pan_kernel_rgb = algorithms.pansharpenKernel(l8i, 'B8', rgb)

Map.addLayer(pan_kernel_rgb, {'bands':rgb, 'min':0, 'max':0.3}, 'kernel pansharpen RGB')

pan_kernel_nsr = algorithms.pansharpenKernel(l8i, 'B8', nsr)

Map.addLayer(pan_kernel_nsr, {'bands':nsr, 'min':0, 'max':0.5}, 'kernel pansharpen NSR')

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

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

相关文章

正点原子--STM32中断系统学习笔记(1)

1、什么是中断? 原子哥给出的概念是这样的:打断CPU正常执行的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断。 当发生中断时,当前执行的程序会被暂时中止,进而进入中断处理函…

Vector CANdb++ Editor和CANdb++ Admin的区别

目录 1 CANdb Editor和CANdb Admin的功能偏差 2 CANdb Program窗口 3 下载并安装CANdb Editor和CANdb Admin 3.1 安装CANdb Admin.J1939 3.0 SP27 优质博文推荐阅读(单击下方链接,即可跳转): Vector工具链 CAN Matrix DBC …

解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

目录 1.示例: 1.1 实现代码1:列数为常量 运行结果: 1.2 实现代码2:列数为变量 运行结果: 1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占…

Linux VLAN相关概念、转发原理及处理流程

背景 二、三层转发是网络工程师经常接触到的一个问题,VLAN配置是二、三层转中一个很重要的概念,在配置VLAN的情况下,内核对报文是如何处理的呢? 概念 了解VLAN转发,首先必须知道VLAN相关概念; VLAN作用 V…

闲聊电脑(4)硬盘分区

夜深人静,万籁俱寂,老郭趴在电脑桌上打盹,桌子上的小黄鸭和桌子旁的冰箱又开始窃窃私语…… 小黄鸭:冰箱大哥,上次你说的那个“分区”和“格式化”是什么意思? 冰箱:分区么,就是分…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

VPP学习-startup.conf配置文件

背景 VPP(Vector Packet Processing,矢量报文处理),作为一个开源的高性能数据包处理框架,旨在提供可扩展、灵活且高效的网络数据包处理能力;由于传统Linux 内核协议栈整体网络吞吐性能的局限性,…

MySQL | 一定会走索引却没有走的原因,日志报conversion相关错误

TL;DR:函数作用于表字段时,索引会失效。 具体情况 Indexes如下: SQL如下: explain select *from accounting_status_flow_tab_00000000WHERE ( client_no 6848134000 and loan_no 0119324345936016261000 )order by modif…

MySQL 8.0 引入 innodb_flush_method 等新参数的系统调用分析

本文我们将讨论如何在操作系统级别验证 innodb_flush_method 和 innodb_use_fdatasync 修改为默认值之外的其它值(特别是 O_DIRECT 是最常用的)后的效果。 介绍 首先,让我们定义该 innodb_flush_method 参数的作用。它规定了 InnoDB 如何管…

加快“数实融合”推进新型工业化 济南个性化体检“把脉”企业数字化转型难点痛点

加快“数实融合”推进新型工业化 济南个性化体检“把脉”企业数字化转型难点痛点 以主流价值为光,解读“济南故事”,解码C位新闻。爱济南客户端推出“追光”栏目,发挥新型主流媒体权威性和创新性,着眼经济社会发展紧要处、关键处、…

Java学习day26:和线程相关的Object类的方法、等待线程和唤醒线程(知识点详解)

声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!) 往期回顾 Java学习day25:守护线…

压力测试工具-Jmeter使用总结

目录 一.前言 二.线程组 三.线程组的组件 四.线程组-HTTP请求 1、JSON提取器 2、XPATH提取器 3、正则表达式提取器 五.线程组-断言 1、响应断言 2、JSON断言 六.创建测试 1.创建线程组 2.配置元件 3.构造HTTP请求 4.添加HTTP请求头 5.添加断言 6.添加查看结果树…

Python之Numpy 和 Pandas

目录 2.1 numpy import numpy as np array np.array([[1,2,3],[2,3,4]]) print(array) print(number of dim:,array.ndim) print(shape:,array.shape) print(size:,array.size)pandas 1,pandas 基本介绍 df2 pd.DataFrame({A:1.,B:pd.Timestamp(20130102),C:pd.Series(1,i…

算法设计与分析实验:最短路径算法

一、网络延迟时间 力扣第743题 本题采用最短路径的思想进行求解 1.1 具体思路 (1)使用邻接表表示有向图:首先,我们可以使用邻接表来表示有向图。邻接表是一种数据结构,用于表示图中顶点的相邻关系。在这个问题中&am…

【C语言进阶篇】assert宏 使用详解

文章目录 一、assert简介 二、assert使用方法和规则 2.1 头文件 2.2 原型 2.3 功能 2.4 示例 2.5 assert的打开与关闭 三、注意事项 3.1 运行效率问题 3.2 assert只适用于调试版本 3.3 资源释放与清理 3.4 过度依赖 四、总结 个人主页: 倔强的石头的…

Datax3.0+DataX-Web部署分布式可视化ETL系统

一、DataX 简介 DataX 是阿里云 DataWorks 数据集成的开源版本,主要就是用于实现数据间的离线同步。DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源(即不同的数据库&#x…

(2024,SaFaRI,双三上采样和 DFT,空间特征和频率特征)基于扩散模型的图像空间和频率感知恢复方法

Spatial-and-Frequency-aware Restoration method for Images based on Diffusion Models 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 方法 3.1 修改数据保真度 3.2 …

Python中使用Opencv-python库绘制直线、矩形、圆、文本

Python中使用Opencv-python库绘制直线、矩形、圆、文字 在Python中使用Opencv-python绘制直线、矩形、圆、文本非常简单,分别使用到line、rectangle、circle、putText这几个函数,具体可以参考https://docs.opencv.org/4.9.0/d6/d6e/group__imgproc__dra…

基础小白快速入门c语言----数据类型

数据类型,运算符,表达式 1c语言支持 数据类型 1.基础类型(基本类型) a数值类型 整型:往往有符号和无符号的区分,(signed)有符号 (unsigned)无符号 基础整型&#xff1…

GSM模块的使用及注意事项

1.如何使用? 最近,我准备使用GSM模块(SIM900A)发送英文短信到指定号码,翻阅资料如下: 可见,只要给该模块按照如下步骤发送指令: 就可以使得模块正常工作。(SIM900A&#…