【ENVI精讲】处理专题五:基于像元二分模型的植被覆盖度反演

news2025/2/27 16:24:21

 一、专题概述

  • 植被覆盖度是指植被(包括叶、茎、枝)在地面的垂直投影面积占统计区总面积的百分比。
  • 植被覆盖度常用于植被变化、生态环境研究、水土保持、气候等方面。
  • 植被覆盖度数据来源于地理遥感生态网平台。

二、像元二分法模型

  • 像元二分模型是一种简单实用的遥感估算模型,它假设一个像元的地表由有植被覆盖部分地表与无植被覆盖部分地表组成,而遥感传感器观测到的光谱信息也由这2个组分因子线性加权合成,各因子的权重是各自的面积在像元中所占的比率,如其中植被覆盖度可以看作是植被的权重。

VFC = (S - Ssoil)/ ( Sveg - Ssoil) S为遥感信息

改进的像元二分法模型(2004)


三、处理流程图


四、图像预处理

1.1 数据读取与定标

  • File-> Open As-> Landsat-> GeoTIFF with Metadata,打开_MTL.txt。(数据读取)

  • 查看影像数据集(五个等级)

打开矢量数据(北京)

查看源信息(已经做过地理坐标)

  • 辐射定标:Toolbox/Radiometric Correction/ Radiometric Calibration,选择可见光-红外组(7个波段),打开Landsat定标工具

选择多光谱数据

  • 裁剪研究区区域

打开空间裁剪(Spatial Subset),利用所示工具2(Subset by Vector)选择研究区(北京市区Shp)

如下图,自动用矢量边框确定范围(可减少数据量)——对于小部分区域不要先裁剪再定标(导致定标参数缺失),在定标时可用空间子集方法

Apply FLAASH Settings,保存路径即可

定标完成

  • 同样方式对另一个幅影像数据进行定标操作

两幅影像数据完成定标(北京区域)

1.2 图像镶嵌

  • 当研究区超出单幅遥感图像所覆盖的范围时,通常需要将两幅或多幅图像拼接起来形成一幅或一系列覆盖全区的较大的图像。
  • ENVI的镶嵌功能
    • 基于像素镶嵌和无缝镶嵌工具
    • 自动颜色平衡,边缘直方图匹配
    • 自动生成接边线、接边羽化
    • 提供结果预览功能
    • 运算速度快
    • 占用非常少的虚拟内存空间
  • 两景相邻的OLI数据,镶嵌得到包含北京市区的完整范围/Mosaicking/Seamless Mosaic

选择数据(完成裁剪的北京区域影像)

Mosaic拓展工具介绍

  • Order工具栏中可以调整图像上下顺序(图层粉色区域为当前选中区域)

  • 颜色平衡工具(直方图匹配——会修改DN值)

基于重叠区域基于完整区域)不同工具产生效果不一,应当选项产生较好质量

  • 接边线设置(如果不选择会根据图像外边框自然接边),可手动自行绘制

如下图自动生成了接边线(绿色)

可编辑接边线

如下图,编辑的接边线(红色)需要把绿色线包含起来,然后应用

如下图,可查看前后对比

在这里不应用,只是示例

输出Mosaic(镶嵌)文件


注:扩展工具(可进行大量数据的快速镶嵌


1.3 图像裁剪

打开图像裁剪工具,如下图

选择镶嵌好的栅格影像

进行设置,如下图

北京市影像裁剪完成

1.4 大气校正——概述

  • 获得地物真实的光谱信息是遥感反演的前提,大气校正可消除大气影响,还原地物的真实信息,是定量遥感数据预处理中必不可少的环节。

  • /Radiometric Correction/FLAASH Atmospheric Correction(选择大气校正工具)

  • 设置存储面板

  • 选好的默认设置

  • 查看影像源信息,对大气校正剩余面板进行设置补充

  • 多光谱工具栏设置

  • 应用,完成大气校正


五、植被覆盖度反演

2.1 NDVI计算

  • Spectral/Vegetation/NDVI(打开NDVI工具栏)

选择L8北京大气校正数据

  • 设置NDVI波段(查看源数据选择)

如下图,完成NDVI计算

  • 快速统计(查看影像NDVI信息)

NDVI应该在-1—1之间(如下图,存在异常值)

  • 处理异常值(打开波段计算工具栏)

  • 如下图,NDVI异常值已经消除

2.2 掩膜文件制作——模型参数求解

  • 既使同一景影像 ,对于NDVIsoil 和NDVIveg 不能取固定值,两个值会随土壤类型和土地利用类型的变化而变化。
  • 利用土地利用类型生成不同土地覆盖类型对应的最大值和最小值
  • 打开数据(土地利用覆盖影像)

土地分类图像

  • 制作掩膜文件

选择处理过异常值的NDVI文件

选择Mask

以范围做掩膜

选择土地分类文件

  • 林地掩膜

  • 田地掩膜

  • 城市掩膜

  • 水域掩膜

  • 其它类型掩膜

  • 统计掩膜的各类型NDVI的最大小值

  • 以像元个数达到五位数为界限

0.38(最小值)

0.86(最大值)

同样方法,

农用地 0.16(最小值) 0.77(最大值)

城市 0.04(最小值) 0.47(最大值)

水域 -0.33(最小值) 0.71(最大值)

其它 0

  • 设置参数文件

b1*0.3804+b2*0.1638+b3*0.0405+b4*0+b5*0.098

  • 在波段计算中设置(最小值)

选择波段对应掩膜文件

  • 最大值,如下

六、植被覆盖度估算

  • 波段运算的过程 表达式为:(b1-b2)/(b3-b2)
  1. b1—NDVI(去除异常值)
  2. b2—NDVIsoil
  3. b3—NDVIveg
  • 植被覆盖度常用于植被变化、生态环境研究、水土保持、沙漠化、气候变化等方面。
  • 进行波段运算,如下

选择对应波段

  • 快速统计(如下图,存在异常值)

  • 处理异常值

统计(0—1正常)

  • 最终影像色带调整

分类(为使影像变得美观清晰)——添加色带

添加色带成功

分割(也可对影像进行分割——条带数目与范围可自行设置)

原文链接:https://bbs.csdn.net/forums/gisrs?spm=1001.2014.3001.6682

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

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

相关文章

什么是自动化测试?什么情况下使用?

什么是自动化测试? 自动化测试是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或框架,编写自动化测试脚本,来模拟手工测试过程。比如说,在项目迭代过程中,持续的回归测试是一项非常枯燥…

蓝桥集训之序列

蓝桥集训之序列 核心思想&#xff1a;多路归并 每次将两个序列合并 –> 两序列n2个和中最小的n个 构成新序列 第一行都是加b1 每次在最外面的元素中取最小(优先队列) #include<iostream>#include<algorithm>#include<cstring>#include<queue>#incl…

ChatGPT 控制机器人的基本框架

过去的一年&#xff0c;OpenAI的chatGPT将自然语言的大型语言模型&#xff08;LLM&#xff09;推向了公众的视野&#xff0c;人工智能AI如一夜春风吹遍了巴黎&#xff0c;全世界都为AI而疯狂。 OpenAI ChatGPT是一个使用人类反馈进行微调的预训练生成文本模型。不像以前的模型主…

LoadBalancer (本地负载均衡)

1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡&#xff0c;客户端所有请求都会交给nginx&#xff0c;然后由nginx实现转发请求&#xff0c;即负载均衡是由服务端实现的。 loadbalancer本地负载均衡&#xff0c;在调用微服务接口时候&a…

云计算项目十一:构建完整的日志分析平台

检查k8s集群环境&#xff0c;master主机操作&#xff0c;确定是ready 启动harbor [rootharbor ~]# cd /usr/local/harbor [rootharbor harbor]# /usr/local/bin/docker-compose up -d 检查head插件是否启动&#xff0c;如果没有&#xff0c;需要启动 [rootes-0001 ~]# system…

VARMA(Vector Auto Regressive Moving Average) in Time Series Modelling

what is VARMA? ARIMA是针对单一变量进行建模的方法,当我们需要进行多变量时序建模时,需要使用VAR and VMA and VARMA模型。 VAR:Vector Auto-Regressive,a generalization of the auto-regressive model for multivariate time series where the time series is station…

【重新定义matlab强大系列十七】Matlab深入浅出长短期记忆神经网络LSTM

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

音视频按照时长分类小工具

应某用户的需求&#xff0c;编写了这款根据音视频时长分类小工具。 实际效果如下&#xff1a; 显示的是时分秒&#xff1a; 核心代码&#xff1a; MediaInfo MI; if (MI.Open(strPathInput.c_str()) 0){return -1;}_tstring stDuration MI.Get(stream_t::Stream_Audio,0,_T…

【Flink】Flink 的八种分区策略(源码解读)

Flink 的八种分区策略&#xff08;源码解读&#xff09; 1.继承关系图1.1 接口&#xff1a;ChannelSelector1.2 抽象类&#xff1a;StreamPartitioner1.3 继承关系图 2.分区策略2.1 GlobalPartitioner2.2 ShufflePartitioner2.3 BroadcastPartitioner2.4 RebalancePartitioner2…

手机APP测试——如何进行安装、卸载、运行?

手机APP测试——主要针对的是安卓( Android )和苹果IOS两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性、性能等测试&#xff0c;今天先来讲讲如何进行安装、卸载、运行的内容。 一、App安装 1、点击运行APP安装包,检测安装包是否正常; . 2、进入[安装向导]…

Java17 --- SpringCloud之OpenFeign

目录 一、OpenFeign实现服务调用 1.1、创建openfeign微服务 二、Openfeign超时控制 2.1、全局默认配置 2.2、单个微服务配置 三、重试机制 四、替换openfeign默认的HttpClient 五、请求响应压缩 六、日志打印 一、OpenFeign实现服务调用 1.1、创建openfeign微服…

LLM长上下文外推方法

现在的LLM都集中在卷上下文长度了&#xff0c;最新的Claude3已经支持200K的上下文&#xff0c;见&#xff1a;cost-context。下面是一些提升LLM长度外推能力的方法总结&#xff1a; 数据工程 符尧大佬的最新工作&#xff1a;Data Engineering for Scaling Language Models to …

[虚拟机保护逆向] [HGAME 2023 week4]vm

[虚拟机保护逆向] [HGAME 2023 week4]vm 虚拟机逆向的注意点&#xff1a;具体每个函数的功能&#xff0c;和其对应的硬件编码的*长度* 和 *含义*&#xff0c;都分析出来后就可以编写脚本将题目的opcode转化位vm实际执行的指令 &#xff1a;分析完成函数功能后就可以编写脚本输出…

c++ primer plus 笔记 第十六章 string类和标准模板库

string类 string自动调整大小的功能&#xff1a; string字符串是怎么占用内存空间的&#xff1f; 前景&#xff1a; 如果只给string字符串分配string字符串大小的空间&#xff0c;当一个string字符串附加到另一个string字符串上&#xff0c;这个string字符串是以占用…

Spring web开发(入门)

1、我们在执行程序时&#xff0c;运行的需要是这个界面 2、简单的web接口&#xff08;127.0.0.1表示本机IP&#xff09; package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestCont…

代码学习记录15

随想录日记part15 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.09 主要内容&#xff1a;今天的主要内容是二叉树的第四部分&#xff0c;主要涉及平衡二叉树的建立&#xff1b;二叉树的路径查找&#xff1b;左叶子之和&#xff1b;找树左下角的值&#xff…

考研复习C语言初阶(4)+标记和BFS展开的扫雷游戏

目录 1. 一维数组的创建和初始化。 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 冒泡…

3.DOM-事件进阶(事件对象、事件委托)

环境对象this 环境对象本质上是一个关键字 this this所在的代码区域不同&#xff0c;代表的含义不同 全局作用域中的this 全局作用域中this代表window对象 局部作用域中的this 在局部作用域中(函数中)this代表window对象 原因是函数调用的时候简写了&#xff0c;函数完整写…

Go语言数据结构(二)堆/优先队列

文章目录 1. container中定义的heap2. heap的使用示例3. 刷lc应用堆的示例 更多内容以及其他Go常用数据结构的实现在这里&#xff0c;感谢Star&#xff1a;https://github.com/acezsq/Data_Structure_Golang 1. container中定义的heap 在golang中的"container/heap"…

[数据集][目标检测]变电站缺陷检测数据集VOC+YOLO格式8307张17类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8307 标注数量(xml文件个数)&#xff1a;8307 标注数量(txt文件个数)&#xff1a;8307 标注…