利用Pix4D和ArcGIS计算植被盖度
除了水文分析和沟道形态分析之外,在实际工作中还要计算植被盖度!
植被盖度,也称为植被覆盖率或植物覆盖度,是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示,是描述地表植被状况的一个重要参数。植被盖度不仅反映了植物个体的大小和密度,还体现了群落结构和生态系统的健康状态。
本次计算植被盖度所用到的软件为:Pix4Dmapper和Arcgis10.8.1
步骤1:处理无人机影像(使用Pix4D)
1. 创建项目:
- 打开Pix4Dmapper。
- 创建一个新项目,选择“开始一个新项目”,输入项目名称,选择项目文件夹(路径无中文)。
- 导入无人机拍摄的原始影像。
- 在处理选项模板处选择第一个——“3Dmap”

注意:如果你的无人机携带的是RGB相机,你最后想要求一个植被指数的时候,千万不要选Ag Mulispectral这个模板,因为相机中不带有近红外波段,无法进行处理。当然,如果你携带的相机带有近红外波段的话,并且你恰好需要一个植被指数如NDVI的话,就可以选择它。
我们后续会使用一些其他适用于RGB相机的植被指数来反映植被的生长情况。
2. 设置坐标系统:
- 确保设置了正确的坐标系统,这样后续才能准确匹配其他地理数据。一般会自动识别坐标系统,比如我的项目坐标系统为WGS84_UTM_Zone49N。


3. 影像处理:
- 在“1. 初始处理”阶段,软件会自动进行影像匹配,生成稀疏点云。
- 在“2. 点云与网格”阶段,选择生成密集点云和表面模型。
- 在“3. DSM、正射影像和指数”阶段,生成数字表面模型(DSM)和正射影像。
该阶段耗时较长,请耐心等待

- 在结束后可以导出质量报告。

- DSM和正射影像DOM结果都被保存在3_dsm_ortho文件夹下,其中DSM被保存在1_dsm文件夹,DOM被保存在2_mosaic文件夹。

- 三维网格纹理在3d_mesh中,加密电云在point_cloud中

4. 生成植被指数:
当使用无人机携带的RGB相机时,我们无法直接计算NDVI(归一化差异植被指数),因为NDVI需要近红外(NIR)波段和红光(Red)波段的信息,而普通的RGB相机只能捕捉红光、绿光和蓝光三个波段的信息。为了弥补这一不足,研究人员开发了一些基于RGB波段的植被指数,这些指数可以在一定程度上反映植被的生长状况。如NGRDI、EGRBDI、RGBVI、NGBDI等,下面是几个常用的替代指数:

补充:对于上面部分指数的解释
1. NGRDI (Normalized Green-Red Difference Index) 归一化绿红差异指数
适用场景: NGRDI 主要用于评估植物的绿色程度,因为绿色植物的叶绿素含量较高,可以更好地吸收红色光而反射绿色光。因此,在评估植物生长状态、健康状况及病害监测方面非常有用。
2. EGRBDI (Enhanced Green Red Blue Difference Index) 增强型绿红蓝差异指数
适用场景: EGRBDI 是一个较为特殊的植被指数,它考虑了红光、蓝光与绿光的关系,能够更细致地反映植物的生理状态。这种指数在特定的研究中可能有助于区分不同类型的植被或识别植物的特定生理特征。
3.RGBVI (Red Green Blue Vegetation Index) 红绿蓝植被指数(最适用于本实验)
适用场景: RGBVI 结合了红、绿、蓝三种颜色的信息,适用于基于可见光范围内的图像来评估植被覆盖度和健康状况。它对于那些需要使用普通相机获取数据的应用特别有用,比如无人机航拍或手机拍摄的植被监测。
4.NGBDI (Normalized Green-Blue Difference Index) 归一化绿蓝差异指数
适用场景: NGBDI 可以帮助评估植被的健康状态,特别是在水体附近的植被监测中,由于蓝光更容易被水吸收,因此这个指数可以帮助区分水生植被和陆地植被。
5.GLI (Green Leaf Index) 绿叶指数(又名VDVI)
适用场景: GLI 能够有效地突出绿色植物的特征,适用于监测植物的生长状态、健康水平以及植被覆盖度。它对于需要快速评估大范围植被状况的应用尤其有用。
————————————分割————————————
在Pix4D中,点击“视图”->“指数计算器”。可以添加我们的一些指数。

最后要注意在处理选项中勾选指数(根据需要判断是否勾选R、G、B以及灰度部分,建议不勾选),并重新处理第三部分(耗时很长,至少三个小时)
补充:如果你的指数部分已经构建过一次了,那么你可以不用再进行第三部分了(耗时实在是太长了),你可以在指数计算器中添加并编辑新的指数,添加后点击生成即可。

结束后在文件夹内即可找到对应的图像:

步骤2:导入和分析数据(使用ArcGIS)
1. 导入数据:
- 打开ArcGIS。
- 通过“添加数据”按钮,导入步骤1中生成的正射影像和植被指数图像。

2. 使用植被指数计算植被盖度:
- 利用植被指数,可以通过设定阈值来确定哪些区域是植被。通常,这些指数值范围为-1到1,植被通常表现为正值,具体阈值可根据实际情况调整(依据遥感数字图像处理教程,植被指数在0.4~0.5之间为绿色健康植物,若只考虑覆盖程度而不考虑健康状况则降低阈值)。
- 使用“栅格计算器”来应用阈值,生成植被覆盖区域的二值图像。例如:
Con("xxxxx.tif" > 0.25,1,0)
注意:阈值的选定是动态的,需要进行多次尝试,对比生成后与原tif图像的区别,选择最契合的阈值。因为植被指数≠NDVI,对于NDVI来说,我们可以直接认为植被在某数值间是健康的,而对于这种不常见的指数而言,我们需要对比不同阈值的契合度选择最合适的值作为判断植被的标准。
如下图所示,我经过多次尝试,最后选择了一个最契合RGBVI植被指数的图像(阈值设置为0.1,仅供参考)。在实际操作中,我们需要进行多次的反复对比。
- 等待处理完成后,会生成一个新的栅格图层,其中1表示植被,0表示非植被区域。

3. 计算植被盖度百分比:
- 打开“属性表”来统计植被(值为1)的像素总数和总像素数。(Count)
- 计算植被盖度百分比:
(植被像素数 / 总像素数) * 100%
可以导出到excel表格进行简要计算。
相关文章:
利用Pix4D和ArcGIS计算植被盖度
除了水文分析和沟道形态分析之外,在实际工作中还要计算植被盖度! 植被盖度,也称为植被覆盖率或植物覆盖度,是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示,是描述地表植被状况的…...
用docker Desktop 下载使用thingsboard/tb-gateway
1、因为正常的docker pull thingsboard/tb-gateway 国内不行了,所以需要其它工具来下载 2、在win下用powershell管理员下运行 docker search thingsboard/tb-gateway 可以访问到了 docker pull thingsboard/tb-gateway就可以下载了 3、docker Desktop就可以看到…...
从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV)
前言 在此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的1.1节开头有提到 机器人收集训练数据一般有多种方式,比如来自人类视频的视觉演示 有的工作致力于从视频数据——例如YouTube视频中进行策略学习 即最常见…...
项目集群部署定时任务重复执行......怎么解决???
项目集群部署在不同服务器,导致定时任务重复执行 1、可以在部署时只让一个服务器上有定时任务模块,不过这样如果这台服务器宕机,就会导致整个定时任务崩溃 2、使用分布式锁,使用redis setNX命令加lua脚本在定时任务执行的时候只…...
使用JUC包的AtomicXxxFieldUpdater实现更新的原子性
写在前面 本文一起来看下使用JUC包的AtomicXxxxFieldUpdater实现更新的原子性。代码位置如下: 当前有针对int,long,ref三种类型的支持。如果你需要其他类型的支持的话,也可以照葫芦画瓢。 1:例子 1.1:普…...
vue3组件通信--props
目录 1.父传子2.子传父 最近在做项目的过程中发现,props父子通信忘的差不多了。下面写个笔记复习一下。 1.父传子 父组件(FatherComponent.vue): <script setup> import ChildComponent from "/components/ChildComp…...
leetcode-75-颜色分类
题解(方案二): 1、初始化变量n0,代表数组nums中0的个数; 2、初始化变量n1,代表数组nums中0和1的个数; 3、遍历数组nums,首先将每个元素赋值为2,然后对该元素进行判断统…...
【嵌入式原理设计】实验三:带报警功能的数字电压表设计
目录 一、实验目的 二、实验环境 三、实验内容 四、实验记录及处理 五、实验小结 六、成果文件提取链接 一、实验目的 熟悉和掌握A/D转换及4位数码管、摇杆、蜂鸣器的联合工作方式 二、实验环境 Win10ESP32实验开发板 三、实验内容 1、用摇杆传感器改变接口电压&…...
C#中的接口的使用
定义接口 public interface IMyInterface {int MyProperty { get; set; }void MyMethod(); } 实现类 internal class MyClass : IMyInterface {public int MyProperty { get; set; }public void MyMethod(){Console.WriteLine("MyMethod is called");} } 目录结构…...
记一次真实项目的性能问题诊断、优化(阿里云redis分片带宽限制问题)过程
前段时间,接到某项目的压测需求。项目所有服务及中间件(redis、kafka)、pg库全部使用的阿里云。 压测工具:jmeter(分布式部署),3组负载机(每组1台主控、10台linux 负载机) 问题现象࿱…...
LeetCode - 4. 寻找两个正序数组的中位数
. - 力扣(LeetCode) 题目 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1: 输入:nums1 …...
算法设计与分析——动态规划
1.动态规划基础 1.1动态规划的基本思想 动态规划建立在最优原则的基础上,在每一步决策上列出可能的局部解,按某些条件舍弃不能得到最优解的局部解,通过逐层筛选减少计算量。每一步都经过筛选,以每一步的最优性来保证全局的最优性…...
【实战篇】GEO是什么?还可以定义新的数据类型吗?
背景 之前,我们学习了 Redis 的 5 大基本数据类型:String、List、Hash、Set 和 Sorted Set,它们可以满足大多数的数据存储需求,但是在面对海量数据统计时,它们的内存开销很大,而且对于一些特殊的场景&…...
SpringBoot最佳实践之 - 项目中统一记录正常和异常日志
1. 前言 此篇博客是本人在实际项目开发工作中的一些总结和感悟。是在特定需求背景下,针对项目中统一记录日志(包括正常和错误日志)需求的实现方式之一,并不是普适的记录日志的解决方案。所以阅读本篇博客的朋友,可以参考此篇博客中记录日志的…...
【Flutter】状态管理:高级状态管理 (Riverpod, BLoC)
当项目变得更加复杂时,简单的状态管理方式(如 setState() 或 Provider)可能不足以有效地处理应用中状态的变化和业务逻辑的管理。在这种情况下,高级状态管理框架,如 Riverpod 和 BLoC,可以提供更强大的工具…...
OAK相机的RGB-D彩色相机去畸变做对齐
▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去,或者产生的…...
smartctl硬盘检查工具
一、smartctl工具简介 Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology),自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘…...
清空MySQL数据表
要清空 MySQL 数据表,您可以使用 TRUNCATE 或 DELETE 命令 使用 TRUNCATE 命令 TRUNCATE 命令用于删除表中的所有数据,并重置自增 ID(如果存在): TRUNCATE TABLE table_name;将 table_name 替换为您要清空的表的名称…...
2024年妈杯MathorCup大数据竞赛A题超详细解题思路
2024年妈杯大数据竞赛初赛整体难度约为0.6个国赛。A题为台风中心路径相关问题,为评价预测问题;B题为库存和销量的预测优化问题。B题难度稍大于A题,可以根据自己队伍情况进行选择。26日早六点之前发布AB两题相关解题代码论文。 下面为大家带来…...
Kafka系列之:Kafka集群磁盘条带划分和Kafka集群磁盘扩容详细方案
Kafka系列之:Kafka集群磁盘条带划分和Kafka集群磁盘扩容详细方案 一、lsblk命令二、Kafka节点磁盘条带化方案一三、Kafka节点磁盘条带化方案二四、理解逻辑区块LE五、查看kafka节点磁盘条带划分情况六、Kafka节点磁盘扩容一、lsblk命令 lsblk命令用于列出块设备的信息,包括磁…...
为什么我们的浏览器操作效率低下?如何用Shortkeys扩展实现3倍效率提升
为什么我们的浏览器操作效率低下?如何用Shortkeys扩展实现3倍效率提升 【免费下载链接】shortkeys A browser extension for custom keyboard shortcuts 项目地址: https://gitcode.com/gh_mirrors/sh/shortkeys 每天在浏览器上,我们花费大量时间…...
收藏!小白程序员必看:详解7种RAG分块策略,轻松提升大模型检索效果
收藏!小白程序员必看:详解7种RAG分块策略,轻松提升大模型检索效果 本文深入解析了RAG系统中7种主流分块策略,包括固定大小、语义、递归、文档结构、智能体、句子和段落分块。强调了分块策略对检索增强生成(RAG…...
Kubernetes配置管理神器Monokle:可视化IDE提升YAML开发效率
1. 项目概述:一个被低估的Kubernetes配置管理神器如果你和我一样,每天都在和成堆的YAML文件、复杂的Kubernetes资源关系以及让人头疼的配置漂移问题打交道,那你一定理解那种在终端、IDE和Dashboard之间反复横跳的疲惫感。几年前,当…...
硬件相关项目内容介绍(硬件咱们也有相关技术支持内容哦)
硬件相关项目内容介绍(硬件咱们也有相关技术支持内容哦) 硬件咱们也有相关技术支持内容哦。 主要看大家喜欢什么,硬件内容咱们会不定期更新分享,大家要是喜欢,后续就安排上实物实操。也虚心听取大家建议,不…...
Java的Random类
在Java中,java.util.Random 类是日常开发中最常用的伪随机数生成器。它基于线性同余算法生成随机数,只要给定相同的初始值(种子 seed),就能生成完全相同的随机数序列。 🎲 Random 类的基础使用 使用 Random…...
从零基础到AI大模型高手,自学AI大模型学习路线推荐,不走弯路!
本文提供了一条详尽的AI大模型自学路线,旨在帮助新手小白系统学习。路线涵盖数学与编程基础、机器学习入门、深度学习深入、大模型探索、进阶与应用以及社区与资源等多个方面。内容详细列出了各阶段的学习资源,包括经典书籍、在线课程、实践项目等&#…...
2026届学术党必备的六大降重复率平台推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 令AI精确执行任务的基础,是下达精准的指令,此即降AI指令。降AI指令专…...
JPlag代码抄袭检测工具:如何高效识别17种编程语言的代码抄袭行为
JPlag代码抄袭检测工具:如何高效识别17种编程语言的代码抄袭行为 【免费下载链接】JPlag State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs. 项目地址: https://gitcode.com/gh_mirrors/jp/JPlag …...
在多轮对话应用中体验Taotoken路由策略对响应速度的优化
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在多轮对话应用中体验Taotoken路由策略对响应速度的优化 1. 场景与背景 在开发一个需要多轮交互的对话应用时,我们常常…...
ChatGPT 2026新增“因果推理引擎”功能(OpenAI内部白皮书首次公开)
更多请点击: https://intelliparadigm.com 第一章:ChatGPT 2026“因果推理引擎”功能全景概览 ChatGPT 2026 引入的“因果推理引擎”(Causal Reasoning Engine, CRE)标志着大语言模型从关联统计迈向可解释性因果建模的关键跃迁。…...
